p-6ren">
gpt4 book ai didi

java - 如何将

和 span 标签之间的文本一一提取

转载 作者:行者123 更新时间:2023-11-30 12:03:31 27 4
gpt4 key购买 nike

我正在尝试逐一获取名为 text1、text2、text3、text4 的文本。

<div class="element">
<p><span>"TEXT1"</span></p>
<p><span>"TEXT2"<br>"TEXT3"<br>"TEXT4"</span</p>
</div>

当我尝试将 div.element>p>span 与 css 选择器一起使用时,selenium 会抛出空指针异常。

WebElement element = driver.findElement(By.cssSelector("div.element>p>span"));
String a = element.getText();
System.out.println("a : "+a);

我也尝试用 for 循环获取它们,但没有成功。你能帮帮我吗?

最佳答案

首先尝试使用 xpath 更改您的定位器:

By.xpath("//*[@class='element']//p")

然后将它们收集到List中,使用循环并用换行分隔。

List<WebElement> elements = driver.findElements(By.xpath("//*[@class='element']//p"));

for(int i=0; i<elements.size(); i++) {
WebElement p = elements.get(i);
String lines[] = p.getText().split("\\r?\\n");
for(String line: lines) {
System.out.println("line :" +line);
}
}

关于java - 如何将 <p> 和 span 标签之间的文本一一提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57718197/

27 4 0