我有以下 html:
<body>
<h1 id = 'example'>text</h1>
"My car is a "
<abbr>
<a href = 'exampleRef'>
Ferrari
</a>
</abbr>
"that goes 100 km/h"
</body>
我正在尝试提取文本“我的车是一辆时速 100 公里的法拉利”。该文本不包含在任何特定元素中,因此我考虑使用
following-sibling
语法来至少提取“我的车是” '。我尝试使用以下表达式:
//h1[@id ='example']/following-sibling::text()
还有
//h1[@id ='example']/following-sibling
但没有匹配到。
要从您提供的 HTML 结构中提取整个串联文本“My car is a Ferrari that gone 100 km/h”,您需要使用 XPath 正确导航元素。由于所需的文本跨越多个文本节点和元素,由于 HTML 的结构,直接提取此串联文本的简单 XPath 表达式可能不够。
相反,您可以使用 XPath 单独选择相关文本节点,然后以编程方式连接它们。这是一个逐步的方法:
<a>
标签内的文字“Ferrari”<h1>
元素:
//h1[@id='example']
<a>
标签内的文本://h1[@id='example']/following-sibling::abbr/a/text()