Xpath 找到一个没有特定文本的子元素的 div

标签 xpath html-parsing

我需要用给定的文本检索一个没有 child 的 div。我有这个 html

<h1>Rest Object</h1>
<div style="background-color: transparent;">
    <div>Title: Rest object</div>
    <div>ID: 2</div>
    <div>Title: Rest object Copy</div>
    <div>Full text: This is the full text. ID: 2</div>
    <div>Value: 0.564</div>
    <div>Timestamp: 2017-06-14 11:35:40</div>
</div>

我要找<div>ID: 2</div> .如何?我试过
xpath=(//div)

它返回第一个 div。我试着用
xpath=(//div[not(div)])

它返回<div>Title: Rest object</div> .

更新 .现在我知道我可以索引。
 xpath=(//div[not(div)][2])
<div>ID: 2</div> .

如果我不知道索引怎么办。

返回

最佳答案

获得所需 div 的一种方法是使用starts-with()功能:

//div[starts-with(.,'ID:')]    
boolean starts-with(string, string) - 返回 true如果第一个参数字符串以第二个参数字符串开头;否则返回 false
将搜索限制为 div你可以使用没有子元素的元素count(*)功能:
//div[starts-with(.,'ID:')][count(*)=0]

关于Xpath 找到一个没有特定文本的子元素的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44541300/

相关文章:

java - 如何使用 NameSpace uri 解析 XML 文件

xpath - Xpath 中的逻辑表达式求值

html - 用 VB DOTNET 解析 HTML

r - 在多个属性上使用 XPathSApply 条件提取数据

xml - XQuery中是否有一个xsl:for-each-group等效项?

java - 在 xpath 中搜索

excel - 单击带有 onclick 属性的 JavaScript 链接

c# 使用 XPathDocument 解析 html

python - 获取由标签分隔的文本/BS4

python - 如何使用 python 向网站提供输入