Html 如何获取xpath的文本值?
我的HTML如下所示:Html 如何获取xpath的文本值?,html,xpath,Html,Xpath,我的HTML如下所示: <li> <span> <strong>13. </strong> "For any queries, call 123456789" </span> </li 13 如有任何疑问,请致电123456789 在这种情况下,由于span有多个子项text()无法正确找到span的文本。此处解释了此行为: 要解决此特定问题,可以将xpath
<li>
<span>
<strong>13. </strong>
"For any queries, call 123456789"
</span>
</li
13强>
如有任何疑问,请致电123456789
在这种情况下,由于span
有多个子项text()
无法正确找到span
的文本。此处解释了此行为:
要解决此特定问题,可以将xpath更改为:
//span[contains(.,'For any queries')]
在这种情况下,由于span
有多个子项text()
无法正确找到span
的文本。此处解释了此行为:
要解决此特定问题,可以将xpath更改为:
//span[contains(.,'For any queries')]
XPath表达式无效,因为不能将/
放在谓词[…]
之前。
Contains
函数将计算第一个返回的文本节点(在您的情况下,是空白节点)
您可以使用@Simon Tulling的答案,也可以保留您的原始想法。只需删除无用的/
并添加normalize-space()
谓词以忽略空白节点(由于span
元素中存在strong
元素)
在这种情况下,XPath表达式将是:
//span[contains(text()[normalize-space()],'For any queries')]
XPath表达式无效,因为不能将/
放在谓词[…]
之前。
Contains
函数将计算第一个返回的文本节点(在您的情况下,是空白节点)
您可以使用@Simon Tulling的答案,也可以保留您的原始想法。只需删除无用的/
并添加normalize-space()
谓词以忽略空白节点(由于span
元素中存在strong
元素)
在这种情况下,XPath表达式将是:
//span[contains(text()[normalize-space()],'For any queries')]
谢谢你的帮助谢谢你的帮助help@E非常感谢你的帮助help@E非常感谢你的帮助