Как получить текст без тега html селен - PullRequest
0 голосов
/ 31 марта 2020

Нужно получить текст 6537

Пробовал много xpaths:

driver.findElement(By.xpath("//b[contains(text(),'Client ID')]")).getText()

Это просто дает текст Master Client Id не 6537.

если мы изменяем xpath на //b[contains(text(),'Client ID')]/text()

Затем селен выдает ошибку, как показано ниже

The result of the xpath expression "//b[contains(text(),'Client ID')]/text()" is: [object Text]. It should be an element.

1 Ответ

0 голосов
/ 31 марта 2020

На основании скриншота кажется, что текст, который вы пытаетесь захватить, не является частью тега. Это текст родительского элемента.

enter image description here

Вам нужно получить текст всего родительского элемента div и использовать регулярное выражение чтобы извлечь номер.

String parentText = driver.findElement(By.xpath("//b[contains(text(),'Client ID')]")).getText()
// find and remove any non digit characters
String number = parentText.replaceAll("\\D+","");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...