Selenium WebDriver для сопоставления с аналогичными путями - PullRequest
0 голосов
/ 22 мая 2019

У меня есть следующие xpath, которые должны обрабатываться WebDriver таким же образом, мне нужно получить текстовое содержимое из них.

//*[@id="dialogMessage"]/div[3]
//*[@id="dialogMessage"]/div[3]/p
//*[@id="dialogMessage"]/div[3]/p/span[2]

Я пытался использовать этот код, чтобы соответствовать всем вышеперечисленным.

String result_text = driver.findElement(By.xpath("//*[contains(@value, 'dialogMessage')]")).getText();

Только один из этих путей xpath присутствует на странице при каждой загрузке страницы.Я получаю следующее сообщение об ошибке:

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//id[contains(@value, 'dialogMessage')]"}

1 Ответ

2 голосов
/ 22 мая 2019

Похоже, вы пытаетесь получить все элементы, содержащие значение атрибута, равное dialogMessage, вместо этого попробуйте использовать этот xpath:

//*[contains(@id, 'dialogMessage')]

или

 //*[@id='dialogMessage']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...