gpt4 book ai didi

html - 什么 xpath 1 表达式可以对多行​​文本进行不区分大小写的匹配?

转载 作者:行者123 更新时间:2023-12-03 00:52:42 25 4
gpt4 key购买 nike

我有一些 html 标记,其中包含许多如下所示的标签:

<label>One two three four</label>
<label>One two three<br>four</label>

我正在尝试根据文本字符串“一二三四”访问 Selenium 测试中的元素。我希望能够匹配上述两个示例。

我对 xpath 的第一次尝试如下所示:

//label[text()[contains(., 'One two three four')]]

这对于不包含 <br> 的标签效果很好。在文本中,但未能找到具有 <br> 的第二个实例.

做了一些研究,似乎标准化空间应该起作用,但似乎不起作用。这是我尝试过的xpath,它只返回第一个节点

//label[text()[contains(normalize-space(.), 'One two three four')]]

我也尝试过这个,但它返回零节点

//label[normalize-space(text())[contains(., 'Generate')]]

那么,有没有办法制作一个 xpath 来查找带有文本“一二三四”的标签,即使有 <br>实际 html 标记中的元素?

最佳答案

或者translate()去掉空格然后匹配:

$ cat foo.html 
<label>One two three four</label>
<label>One two three<br>four</label>
$ xpquery -p HTML '//label[contains(translate(normalize-space(.), " ", ""), "Onetwothreefour")]/text()' foo.html
One two three four
One two three
four
$

关于html - 什么 xpath 1 表达式可以对多行​​文本进行不区分大小写的匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786821/

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