Jak ustawić domyślny limit czasu Selenium Python WebDriver?
Próba znalezienia dobrego sposobu na ustawienie maksymalnego limitu czasu dla opóźnienia wykonywania poleceń w Selenium Python WebDriver. Idealnie, coś w stylu:
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
pracowałbym. znalazłem.implicitly_wait(30)
, ale nie jestem pewien, czy spowoduje to pożądane zachowanie.
W przypadku, gdy jest to przydatne, specjalnie używamy WebDriver dla Firefoksa.
EDYTOWAĆ
Jak na odpowiedź per @ amey, może to być przydatne:
ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
Nie jest jednak dla mnie jasne, czy dorozumiane oczekiwanie ma zastosowanie zarówno doget
(która jest pożądaną funkcjonalnością) i dofind_element_by_id
.
Dziękuję bardzo!