尝试找到一种好方法来设置 Selenium Python WebDriver 中命令执行延迟的最大时间限制。理想情况下,类似:
my_driver = get_my_driver()
my_driver.set_timeout(30) # seconds
my_driver.get('http://www.example.com') # stops / throws exception when time is over 30 seconds
会工作。我已经发现.implicitly_wait(30)
,但我不确定它是否会产生所需的行为。
如果它有用,我们专门使用 Firefox 的 WebDriver。
EDIT
根据 @amey 的回答,这可能有用:
ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
但是,我不清楚隐式等待是否同时适用于get
(这是所需的功能)并find_element_by_id
.
非常感谢!
在Python中,为页面加载创建超时的方法是:
Firefox、Chromedriver 和 unDetected_chromedriver:
driver.set_page_load_timeout(30)
Other:
driver.implicitly_wait(30)
这会抛出一个TimeoutException
每当页面加载时间超过 30 秒时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)