gpt4 book ai didi

java - 如何通过 XPath 从同一父节点内的文本节点中提取文本

转载 作者:行者123 更新时间:2023-11-29 04:18:57 24 4
gpt4 key购买 nike

我正在使用 Java 中的 Selenium 运行一些 UI 测试,以从 UI 中提取文本片段以针对某些自动化测试进行断言。

我的 UI 上有以下元素:

<span id="MainContent" class="control-label">
"Text 1"
<br>
"Text 2"
<br>
"Text 3"
</span>

我需要分别挑选出 3 段单独的文本,并单独针对每段进行断言。

我的定位器有问题,因为当我运行测试 selenium 时告诉我无法定位元素。

对于第一个文本项(“文本 1”),我使用了以下不起作用的定位器代码。我已经尝试了一些其他变体,但总是遇到无法找到定位器错误。帮助!

By category = By.xpath("//span[@id='MainContent'][1]");

最佳答案

根据您提供的 HTML 提取文本,例如Text 1Text 2Text 3您可以使用以下解决方案:

WebElement myElement = driver.findElement(By.xpath("//span[@class='control-label' and @id='MainContent']"));
// to extract the text "Text 1"
String myText1 = ((JavascriptExecutor)driver).executeScript('return arguments[0].firstChild.textContent;', myElement).toString();
// to extract the text "Text 2"
String myText2 = ((JavascriptExecutor)driver).executeScript('return arguments[0].childNodes[3].textContent;', myElement).toString();
// to extract the text "Text 3"
String myText3 = ((JavascriptExecutor)driver).executeScript('return arguments[0].lastChild.textContent;', myElement).toString();

关于java - 如何通过 XPath 从同一父节点内的文本节点中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50460135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com