0

我有以下示例代码:

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?

4

1 回答 1

0

看起来你有

driver.implicitly_wait(30)

您的代码中也有隐式等待。

这就是官方对隐式等待与显式等待混合的看法:

警告:不要混合隐式和显式等待。这样做会导致不可预测的等待时间。例如,设置 10 秒的隐式等待和 15 秒的显式等待可能会导致 20 秒后发生超时。

参考链接

于 2021-07-13T03:25:30.627 回答