Получить текст из WebElement, найденного по обновлению идентификатора с помощью jquery - PullRequest
0 голосов
/ 07 ноября 2011

Я пытаюсь получить некоторый текст и идентификатор, чтобы я мог использовать его позже в тесте. И я могу найти элемент с:

WebElement jrnrText = driver.findElement(
             By.id("ctl00_content_createnewschema_modalAlert_alertMessage"))

Но проблема в том, что значение будет динамически добавлено позже с помощью jquery, поэтому идентификатор будет присутствовать, когда я доберусь до страницы. Затем я нажимаю кнопку, и jquery обновляет идентификатор.

Я знаю, что могу использовать jrnrText.getText (), но это ничего не даст, так как идентификатор не содержит ничего, прежде чем я нажму кнопку.

Это мой код:

driver.findElement(By.id("ctl00_content_createnewschema_btnCreate")).click();

WebElement jrnrText = driver.findElement(
     By.id("ctl00_content_createnewschema_modalAlert_alertMessage"))

if(jrnrText.isDisplayed()){
    wait.until(presenceOfElementLocated(By.xpath('''//td[contains(text(),"part of the text"]''')))
}

println jrnrText.getText()

1 Ответ

0 голосов
/ 08 ноября 2011

Ваш вопрос сбивает с толку, но я постараюсь ответить на него. Во-первых, если идентификатор элемента динамически изменяется в зависимости от пользовательского ввода, то это полностью отрицает назначение идентификатора. Это ошибка, которая должна быть исправлена ​​на веб-сайте.

Если по какой-то причине ошибка не может быть исправлена, нам понадобится более подробная информация. Где в коде, который вы показываете выше, это терпит неудачу? Когда вы говорите «идентификатор не содержит ничего, прежде чем я нажму кнопку», вы имеете в виду, что элемент с идентификатором «ctl00_content_createnewschema_modalAlert_alertMessage» не существует? Даже если это происходит после того, как нажатие кнопки, на которой вы указали, обновляет идентификатор?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...