Попытка найти хороший способ установить максимальный срок для задержки выполнения команды в 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)
, но не уверен, приведет ли оно к желаемому поведению.
В случае, если это полезно, мы специально используем WebDriver для Firefox.
ИЗМЕНИТЬ
В соответствии с ответом @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
.
Большое спасибо!