一个文档有几个<div class="ok">标记。我可以使用"//*[@class="ok"]"来选择所有这些选项(我不需要指定div,因为只有div标记才有这个类)。我得到了与此相匹配的6个节点的列表。
现在,我需要
<a href="soft://an.id/">。这种包容不是直接的。我的意思是,</div>.<tr>、<td>和<span>的<table>,以及在<table>之前的<a..> (只有一个或一个也没有)直接选择包含这个<a>标记的class="ok" (div)节点。f 217
我尝试过很多事情,但都失败了。包括保护href检测中的"/“(是否需要?)。我对正则表达式相当熟悉,但我必须承认,我发现XPath语法更难理解。而且W3C参考文档太难了,没有例子。
任何提示都欢迎。
发布于 2022-01-04 09:34:24
为了只选择包含<div class="ok">子元素的<a href="soft://an.id/">元素,可以使用以下XPath定位器:
"//div[@class='ok' and .//a[@href='soft://an.id/']]"发布于 2022-01-04 07:55:22
如果我正确地理解了您,那么在div下面有一个嵌套的类"ok",对吗?
因此,在xpath中,a/是指当前标记下面/上面的直接定位器。如果您正在查找已找到的div下的某个位置,则需要使用:
//div[@class="ok"]//a[@href="soft://an.id/"]然后,您需要使用某种断言来检查它是否存在。
https://stackoverflow.com/questions/70574219
复制相似问题