selenium2 webdriver找不到javascript新创建的元素

时间:2011-05-27 06:48:53

标签: java webdriver selenium-webdriver

单击链接会触发创建新元素的操作。但是,在单击返回后调用driver.findElement(By.id(""))找不到它。

我尝试了以下代码来等待元素出现。

wait.until(new ExpectedCondition() 
{
    public Boolean apply(WebDriver webDriver) {
    System.out.println("Searching ...");
    return webDriver.findElement(By.id("itemType1")) != null;
                    }
});

但是直到超时我仍然找不到它。

1 个答案:

答案 0 :(得分:0)

您可以使用element.isDisplayed()

这样做:

WebElement jrnrText = driver.findElement(By.id("id"))
if(jrnrText.isDisplayed()){
    wait.until(presenceOfElementLocated(BY.id]("id")))
}

Function<WebDriver, WebElement> presenceOfElementLocated(final By locator) {
    return new Function<WebDriver, WebElement>() {
        public WebElement apply(WebDriver driver) {
            return driver.findElement(locator)
        }
    }
}