一尘不染

如何设置Selenium Python WebDriver默认超时?

selenium

试图找到一种在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。

编辑

按照@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

非常感谢!


阅读 661

收藏
2020-06-26

共1个答案

一尘不染

在python中,为页面加载创建超时的方法是:

Firefox和Chromedriver

driver.set_page_load_timeout(30)

其他

driver.implicitly_wait(30)

TimeoutException只要页面加载时间超过30秒,就会抛出。

2020-06-26