Selenium Python WebDriver'da komut yürütme gecikmesi için maksimum süre sınırı belirlemenin iyi bir yolunu bulmaya çalışın. İdeal olarak, bir şey gibi:Selenium Python WebDriver varsayılan zaman aşımı nasıl ayarlanır?
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
işe yarar. .implicitly_wait(30)
'u buldum, ancak istenen davranışla sonuçlanıp sonuçlanmadığından emin değilim.
Yararlı olması durumunda, özellikle Firefox için WebDriver'ı kullanıyoruz.
DÜZENLEME @ AMEY cevabı gereğince
, bu yararlı olabilir:
ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
Ancak, örtülü bekleme arzu edilen (get
hem geçerli olup olmadığını bana belli değil işlevsellik) ve find_element_by_id
.
Çok teşekkürler!
Ben kaynak koduna göz attık bir işlevdir. Python bağlanması için belirsiz. Ancak C# için, 'ImplicitlyWait' sadece FindElement/FindElements' için çalışır (Java için de geçerlidir). Kaynak: [1] (https://code.google.com/p/selenium/source/browse/dotnet/src/WebDriver/ITimeouts.cs#48) [2] (https://code.google.com/ p/selenium/issue/detail? id = 5092) –
Teşekkürler. İlgilendiğinizde cevabımı aşağıya bakın. –