常用xpath选择器和css选择器总结

xpath选择器

表达式说明
article选取所有article元素的所有子节点
/article选取根元素article
article/a选取所有属于article的子元素的a元素
//div选取所有div子元素(不论出现在文档任何地方)
article//div选取所有属于article元素的后代的div元素,不管它出现在article之下的任何位置
//@class选取所有名为class的属性
/article/div[1]选取属于article子元素的第一个div元素
/article/div[last()]选取属于article子元素的最后一个div元素
/article/div[last()-1]选取属于article子元素的倒数第二个div元素
//div[@lang]选取所有拥有lang属性的div元素
//div[@lang=‘eng’]选取所有lang属性为eng的div元素
/div/*选取属于div元素的所有子节点
//*选取所有元素
//div[@*]选取所有带(任意)属性的div元素
/div/a | //div/p选取所有div元素的a和p元素
//span | //ul选取文档中的span和ul元素
article/div/p | //span选取所有属于article元素的div元素的p元素以及文档中的所有span元素
//div[@id=‘1’]/h1/text()获取id为1的div标签下的h1标签里的内容
//span[not(@class)]选择不包含class属性的span节点
//span[not(@class) and not(@id)]选择不包含class和id属性的span节点
//span[not(contains(@class,‘expire’))]选择不包含class="expire"的span
//span[contains(@class,‘expire’)]选择包含class="expire"的span
//h2[contains(text(),‘Activated’)]选择标签内容里包含Activated的h2标签
//div[not(contains(text(),‘activated’))]选择标签内容中不包含activated的div标签

XPATH如何选择不包含某一个属性的节点

我们知道选择包含某一特定属性的节点,可以使用例如//tbody/tr[@class]来选择。那么不含某属性的节点如何用xpath取得呢?

这里可以用到not。例如排除一个属性的节点可以使用//tbody/tr[not(@class)]来写,排除一个或者两个属性可以使用//tbody/tr[not(@class or @id)]来选择。

css 选择器

表达式说明
*选择所有节点
#container 选择id为container的节点
.container选取所有class 包含container的节点
li a选取所有li下的所有a节点 (子节点)
ul + p选择ul后面的第一个p元素(兄弟节点)
div#container > ul选取id为container的div的第一个ul子元素
ul ~ p选取与ul相邻的所有p元素
a[title]选取所有有title属性的a元素
a[href=“a.com”]选取所有href属性为a.com值的a元素
a[href*=“a”]选取所有href属性包含a的a元素
a[href^=“http”]选取所有href属性值以http开头的a元素
a[href$=".jpg"]选取所有href属性值以.jpg结尾的a元素
inupt[type=radio]:checked选取状态为选中的radio元素
div:not(#container)选取所有id不为container的div元素
li:nth-child(3)选取第三个li元素
tr:nth-child(2n)第偶数个tr元素

转载自https://www.cnblogs.com/huchong/p/10287427.html#_label1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值