我是xpath和html的新手。是否可以在每个类“authorbox”下搜索html中的文本“xxxx”,如果该类有,则自动选择父类tr。
< TR>
< td class =“authorbox”>
< div class="regsn">
< a href="/member/profile/xxxx" t="post-usersntxt">xxxx< /a>
...
并且表格中包含更多
&LT; TR&GT;
&LT; TR&GT;
&LT; TR&GT;
这是我目前能够制作的xpath
// TD [@类= 'authorbox']
我真的不知道如何搜索文本“xxxx”或如果找到文本则选择父tr。如果我愿意的话,我可以选择每个表格,但如果更自动的话会很好。
由于
答案 0 :(得分:1)
使用强>:
//tr[td[@class='authorbox']
//text()[contains(., 'xxxx')]
]
这将选择XML文档中具有tr
子项的任何td
,其class
属性的字符串值为字符串"authorbox"
和td
child)有一个文本节点后代,其字符串值是一个包含"xxxx"
的字符串。
这可以更精确:
如果文本节点后代的字符串值必须完全字符串"xxxx"
,请使用:
//tr[td[@class='authorbox']
//text()[. = 'xxxx']
]
如果文本节点后代的字符串值以字符串"xxxx"
开头,请使用:
//tr[td[@class='authorbox']
//text()[starts-with(., 'xxxx')]
]
如果文本节点后代的字符串值包含仅由空格包围的字符串"xxxx"
,请使用:
//tr[td[@class='authorbox']
//text()[normalize-space(., 'xxxx')]
]
答案 1 :(得分:1)
所以,看起来你已经到了一半了。你只需要为你的谓词添加一点牛肉:
//tr[td/@class="authorbox" and td/div/a="xxxx"]
此外,如果你想要tr
,你可以从上面开始,然后将td
引用放到谓词中。