driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS) 不起作用

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS) does not working

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

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

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

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

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

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