当 Selenium 中的预期条件失败时,不遵守 waitTime
Posted
技术标签:
【中文标题】当 Selenium 中的预期条件失败时,不遵守 waitTime【英文标题】:waitTime not respected when Expected Condition fails in Selenium 【发布时间】:2021-09-22 02:48:21 【问题描述】:我有以下示例代码:
try:
element_found = WebDriverWait(driver, 10).until(EC.presence_of_element_located(By.XPATH,'//div[@class='sample-class']))
print("Success")
except Exception:
print("Failure")
当元素被定位时,等待时间为 10 秒,因此打印 'Success' is <=10 seconds
所花费的时间,但当预期条件失败时,则持续打印 'Failure' is 50 seconds
所花费的时间。
那么为什么10 seconds limit not honored
是一个失败案例呢?为什么要50 seconds?
【问题讨论】:
【参考方案1】:看起来你有
driver.implicitly_wait(30)
您的代码中也有隐式等待。
这就是官方关于隐式等待与显式等待混合的说法:
警告:不要混合隐式和显式等待。这样做会导致不可预测的等待时间。例如,设置隐式等待 10 秒和 15 秒的显式等待可能导致超时 20 秒后发生。
Reference link
【讨论】:
以上是关于当 Selenium 中的预期条件失败时,不遵守 waitTime的主要内容,如果未能解决你的问题,请参考以下文章