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'
'//span | //ul' 选取文档中所有的 span 和 ul 元素
'article/div/p | //span' 选取所有article下的div下的p元素 和 文档中的所有span元素
# 函数
'div[contains(@id, "first")]' id是first的div元素
'a[text() = "baidu"]' 文本是baidu的a元素
'div[starts-with(@id, "first")]' id以first开头的div元素
'input[@name="id" and not(contains(@class, "fuck"))]' name属性是id 并且 没有fuck类的input元素
'input[not(@id)]' 不包含id属性的input元素
CSS选择器
'*' 选择所有节点
'#container' 选择id为container的节点
'.container' 选择所有class包含container的节点
'li a' 选取所有li下的所有a节点
'ul + p' 选择ul后面的第一个p元素
'div#container > ul' 选取id为container的div的ul子元素
’p ~ ul' 选择前面有<p>元素的每个<ul>元素
'a[title]' 选取所有有title属性的a元素
'a[href="http://jobbole.com"]' 选取所有href属性为 jobbole.com 值的a元素
'a[href*="jobole"]' 选取所有href属性包含 jobbole 的a元素
'a[href^="http"]' 选取所有href属性值以http开头的a元素
'a[href$=".jpg"]' 选取所有href属性值以.jpg结尾的a元素
'input[type=radio]:checked' 选择选中的radio的元素
'div:not(#container)' 选取所有id非container的div属性
'ii:nth-child(3)' 选取第三个li元素
'tr:nth-child(2n)' 第偶数个tr
网友评论