如何解决如何获取xpath的文本值?
我的HTML正在关注
<li>
<span>
<strong>13. </strong>
"For any queries,call 123456789"
</span>
</li
我想使包含文本““ For any query”的xpath将我的元素滚动到该特定文本。我试图使xpath像
“ //跨度// [包含(text(),'用于任何查询')] ”
但它不起作用。
解决方法
在这种情况下,由于span
有多个孩子,text()
无法正确找到span
的文本。此处说明了此行为:XPath: difference between dot and text()。
要解决此特定问题,可以将xpath更改为:
//span[contains(.,'For any queries')]
,
QName
您的XPath表达式无效,因为您不能将 //span//[contains(text(),'For any queries')]
放在谓词//
之前。
[...]
函数将评估返回的第一个文本节点(在您的情况下为空白节点)。
您可以使用@Simon Tulling的答案或保留您的原始想法。只需删除无用的Contains
并添加一个//
谓词即可忽略空白节点(由normalize-space()
元素中的strong
元素引起)。
在这种情况下,XPath表达式将为:
span
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。