首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择<div class="ok">.....<a href=软件://an.id/“>.</div>节点?

如何选择<div class="ok">.....<a href=软件://an.id/“>.</div>节点?
EN

Stack Overflow用户
提问于 2022-01-04 04:54:09
回答 2查看 64关注 0票数 1

一个文档有几个<div class="ok">标记。我可以使用"//*[@class="ok"]"来选择所有这些选项(我不需要指定div,因为只有div标记才有这个类)。我得到了与此相匹配的6个节点的列表。

现在,我需要

  • 要么测试每个节点,以查看它是否包含标记<a href="soft://an.id/">。这种包容不是直接的。我的意思是,</div>.
  • or包含一个包含多个<tr><td><span><table>,以及在<table>之前的<a..> (只有一个或一个也没有)直接选择包含这个<a>标记的class="ok" (div)节点。

f 217

我尝试过很多事情,但都失败了。包括保护href检测中的"/“(是否需要?)。我对正则表达式相当熟悉,但我必须承认,我发现XPath语法更难理解。而且W3C参考文档太难了,没有例子。

任何提示都欢迎。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-04 09:34:24

为了只选择包含<div class="ok">子元素的<a href="soft://an.id/">元素,可以使用以下XPath定位器:

代码语言:javascript
复制
"//div[@class='ok' and .//a[@href='soft://an.id/']]"
票数 1
EN

Stack Overflow用户

发布于 2022-01-04 07:55:22

如果我正确地理解了您,那么在div下面有一个嵌套的类"ok",对吗?

因此,在xpath中,a/是指当前标记下面/上面的直接定位器。如果您正在查找已找到的div下的某个位置,则需要使用:

代码语言:javascript
复制
//div[@class="ok"]//a[@href="soft://an.id/"]

然后,您需要使用某种断言来检查它是否存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70574219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档