试图找到一种在Selenium Python WebDriver中为命令执行延迟设置最大时间限制的好方法。理想情况下,像这样:如何设置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
。
非常感谢!
我看了一下源代码的功能。 python绑定很模糊。但对于C#,'ImplicitlyWait'只适用于'FindElement/FindElements'(对Java相同)。来源:[1](https://code.google.com/p/selenium/source/browse/dotnet/src/WebDriver/ITimeouts.cs#48)[2](https://code.google.com/ p/selenium/issues/detail?id = 5092) –
谢谢。如果您有兴趣,请参阅下面的答案。 –