Selenium Webdriver不等待元素

时间:2016-08-30 12:24:52

标签: java selenium selenium-webdriver

这是我的firefox浏览器的selenium web驱动程序初始化。

driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

即使我给了隐含的等待selenium而不是等待元素。它会立即抛出未找到的异常。如果我放Thread.sleep那么它工作正常没有任何问题。但是将Thread.sleep放在测试用例的任何地方现在包含的Thread.sleep比实际的测试用例代码更多。有谁能建议我这样做的正确方法?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您应该使用ExplicitWait等待特定元素可见或存在,因为这不是一个好的做法,可以使用该线程。我建议使用:

WebDriver driver wait = new WebDriverWait(driver, "time here");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xPath)));