【问题标题】:driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS) does not workingdriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS) 不起作用
【发布时间】:2016-12-14 13:10:43
【问题描述】:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

上面的隐式等待代码在 Google chrome 上对我不起作用。我尝试过使用 selenium 2.47 和 2.53.1

【问题讨论】:

  • 你怎么知道它不起作用?您看到的错误是什么?
  • 如果我将秒数更改为 60,在应用程序中它不会等待 60 秒。我没有收到任何错误。如果我使用 Thread.sleep(60) 它工作正常。
  • 确保您正在处理一个驱动程序对象。
  • 请阅读How to Ask。请提供您尝试过的代码和执行结果,包括任何错误消息等。同时提供指向页面和/或相关 HTML 的链接。

标签: java selenium wait


【解决方案1】:

您应该阅读隐式等待的实际作用及其工作原理。

http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp#implicit-waits

这不是您调用等待 10 秒的东西,它仅在正在搜索的元素不可用时才起作用... 然后触发隐式等待并且该元素轮询到 10 秒。如果元素已经存在,则没有等待时间。 Thread.sleep() 无论如何都会暂停执行,但这不是一个好习惯。

【讨论】:

    【解决方案2】:

    隐式等待是告诉 WebDriver 在尝试查找一个或多个元素时轮询 DOM 一段时间(如果)它们不是立即可用。默认设置为 0。一旦设置,就会为 WebDriver 对象实例的生命周期设置隐式等待。

    【讨论】:

      猜你喜欢
      • 2014-10-18
      • 2019-01-04
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多