我试图在我的页面中找到一个元素。该元素只有在应用程序出现任何错误时才会出现。我处理得很好,唯一的问题是它等待 30 秒(隐式等待)才能进入下一步。我不想等待 30 秒,而是希望我的脚本在进入下一步之前等待 3 秒,所以我决定使用显式等待相同的时间。这是我的代码
WebDriverWait wait = new WebDriverWait(driver, 3);
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("errorelement")));
问题是 Selenium webdriver 仍在等待该元素长达 30 秒,然后才会给出错误并转到下一步。我也尝试使用 visibilityOfElementLocated 选项,但它仍然无法正常工作。
我在这里遗漏了什么吗?
Selenium 版本:- 2.46.0
浏览器:- Mozilla、Chrome
最佳答案
我建议将隐式等待设置为 0,并始终使用显式等待:
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
这是一个很好的answer关于这个话题。
关于java - 显式等待在 Selenium webdriver 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31510285/