我必须使用一些非常慢的代理,并且偶尔会卡住。因此,我试图找到一个解决方案/解决方法,这里是我的问题:使用Python在Selenium Webdriver(Selenium 2)中显式等待和隐式等待的问题
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
browser = webdriver.Firefox()
browser.get("http://whateversite.com")
element = browser.find_element_by_id("element")
element.click() # go to page http://whateversite.com/page.html
new_element = browser.find_element_by_id("newElement")
如果设置了browser.implicitly_wait(30)
前手或使用new_element = WebDriverWait(browser, 30).until(lambda browser : browser.find_element_by_id("newElement"))
它只是卡住了,有时几个小时不管。它似乎等待页面http://whateversite.com/page.html
完全加载,在某些极端情况下可能需要几小时。
我该怎么做才能避免这种情况?
实际使用的浏览器是什么?如果您使用Firefox或Chrome,它会有所作为吗?你的代码看起来应该可以工作。手动访问这些网站会发生什么? – aychedee
@ H.Dunlop:火狐,对不起,我刚纠正了代码。 – Shane
可能的重复[告诉我为什么这不会以超时错误结束(selenium 2 webdriver)?](http://stackoverflow.com/questions/10757061/tell-me-why-this-does-not-end -up-with-a-timeout-error-selenium-2-webdriver) – AutomatedTester