如何为 <br> 标签中包含的文本编写 xpath?
How to write xpath for the text enclosed in the <br> tags?
我正在尝试为下面的 html 代码的 'br' 标签内的文本编写 xpath。当我试图通过 'chropath'(chrome 的插件)突出显示 xpath 时,它显示“0 个元素匹配”。请帮我解决这个问题。
<div class="abc" style="">Line1.
<br>Line2:
<br>Line3
<br>Line4
<br>
<br> Line5
</div>
我试过的 xpath
//div[contains(text(),'Line1')]/text()[following-sibling::node()[1][self::br]]
<br/>
标签用于定义换行符。所以文本不在 <br/>
标签内。
为了回答您的问题,如果您特别想获得后跟 <br/>
标记的文本,您可以使用参考编号。例如
(//div[contains(text(),'Line1')]/text())[2]
在这里,[2]
将引用文本 第 2 行 等等。
我认为您无法从 <br/>
标记中获取文本,它是换行符。因此,在您的情况下,您可以使用 xpath
: //*[@class='abc']
获取所有文本。但是如果你想每行获取文本,可能需要尝试:
WebElement elemnt = driver.findElement(By.xpath("//*[@class='abc']"));
String lines[] = elemnt.getText().split("\r?\n");
for(String line: lines) {
System.out.println("line :" +line);
}
在 java
.
中实施
输出控制台:
我正在尝试为下面的 html 代码的 'br' 标签内的文本编写 xpath。当我试图通过 'chropath'(chrome 的插件)突出显示 xpath 时,它显示“0 个元素匹配”。请帮我解决这个问题。
<div class="abc" style="">Line1.
<br>Line2:
<br>Line3
<br>Line4
<br>
<br> Line5
</div>
我试过的 xpath
//div[contains(text(),'Line1')]/text()[following-sibling::node()[1][self::br]]
<br/>
标签用于定义换行符。所以文本不在 <br/>
标签内。
为了回答您的问题,如果您特别想获得后跟 <br/>
标记的文本,您可以使用参考编号。例如
(//div[contains(text(),'Line1')]/text())[2]
在这里,[2]
将引用文本 第 2 行 等等。
我认为您无法从 <br/>
标记中获取文本,它是换行符。因此,在您的情况下,您可以使用 xpath
: //*[@class='abc']
获取所有文本。但是如果你想每行获取文本,可能需要尝试:
WebElement elemnt = driver.findElement(By.xpath("//*[@class='abc']"));
String lines[] = elemnt.getText().split("\r?\n");
for(String line: lines) {
System.out.println("line :" +line);
}
在 java
.
输出控制台: