Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Java+ Eclipse+Selenium Найти текст на странице по элементу String

java
selenium
webdriver
testng
Теги: #<Tag:0x00007f7b70ab46e8> #<Tag:0x00007f7b70ab44e0> #<Tag:0x00007f7b70ab43a0> #<Tag:0x00007f7b70ab4260>

(Андрей Гнучих) #1

Элемент String randomString = “887374577122”;
Нужно найти в тесте по randomString данные. Они генерируются рендомно в тесте. 12 цифр ИНН
И нужно на странице найти и кликнуть по ним.

driver.findElement(By.xpath("//div[normalize-space(text())=randomString ]")).click();
Пробовал так. Не помогает(
Начинаю только разбираться в данной проблеме.


Инн все время разный генерится будет.


(Vasiliy Rakshin) #2

driver.findElement(By.xpath("//div[contains(text(),’"+randomString+"’)]")).click();
А лучше напишите нам весь тег содержащий этот элемент.


(Evgenii) #3
        String randomString = "123456789";
        String locator = String.format("//*[text()='%s']", randomString);
        driver.findElement(By.xpath(locator)).click();

(Андрей Гнучих) #4

—Если просто ввести текст то все ок. (Нашел-нажал)
driver.findElement(By.xpath("//div[normalize-space(text())=‘887374577122’]")).click();

— Но вот с таким делом не проходит.
String randomString = “887374577122”;
driver.findElement(By.xpath("//div[contains(text(),‘randomString’)]")).click();


(Vasiliy Rakshin) #5

Извиняюсь, косякнул, исправил первоначальное сообщение.


(Андрей Гнучих) #6

Да все заработало. Какой день думал а тут все так просто!
Спасибо большое. Вот то, что прошло:
String randomString = “887374577122”;
String locator = String.format("//div[normalize-space(text())=’%s’]", randomString);
driver.findElement(By.xpath(locator)).click();


(Michael Beider) #7

Can you post the DOM?