Как извлечь динамическое число в заголовке тега в селене? - PullRequest
0 голосов
/ 31 мая 2018

вот HTML.Я хочу извлечь 1814400752 в теге h2.Я пытался использовать xpath, но он извлекает только «Номер заказа:» без номера.Пожалуйста, сообщите.

<h2 _ngcontent-c57=""> <pwwgen-label _ngcontent-c57="" default="Order number:" name="e-comm-confirmation-order-number" _nghost-c8="" ng-reflect-name="e-comm-confirmation-order-numb" ng-reflect-default="Order number:"> <span _ngcontent-c8="">Order number: </span> </pwwgen-label> 1814400752</h2>

Ответы [ 3 ]

0 голосов
/ 31 мая 2018

Согласно HTML вы поделились текстом 1814400752 - это дочерний узел тега <h2>.Для извлечения текста 1814400752 вы можете использовать следующее решение (Java) :

WebElement myElement = driver.findElement(By.XPath("//h2[@_ngcontent-c57]"));
String myText = ((JavaScriptExecutor)driver).executeScript("return arguments[0].lastChild.textContent;", myElement).toString();
0 голосов
/ 31 мая 2018

Рендеринг числа на странице занимал время, поэтому он не мог извлечь его сразу после выполнения кода ниже.Я должен использовать некоторую синхронизацию, а затем выполнить, и это сработало.Спасибо за все ваши ответы.

WebElement myElement = driver.findElement(By.XPath("//h2[@_ngcontent-c57]"));
String output = element.getAttribute("innerText");
0 голосов
/ 31 мая 2018

Вы должны выбрать родительский тег из дочернего xpath

Ниже можно использовать XPath

Xpath: //*[name='e-comm-confirmation-order-number']/parent::h2

driver.findElement(By.xpath("//*[name='e-comm-confirmation-order-number']/parent::h2")).getText();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...