веб-драйверу selenium2 не удается найти элемент, недавно созданный javascript - PullRequest
1 голос
/ 27 мая 2011

Нажатие на ссылку запускает операцию, которая создает новый элемент.Однако, вызов 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 голосов
/ 08 ноября 2011

Вы можете использовать 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)
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...