Python 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元素
xpath内置函数:
starts-with 顾名思义,匹配一个属性开始位置的关键词
contains 匹配一个属性值中包含的字符串
test() 匹配的是显示文本信息。
例:
starts-with
eg//input[starts-with(@name,'name1')] 查找name属性中开始位置包含‘name1’关键词的页面元素
contains
//input[contains(@name,'na')] 查找name属性中包含na关键词的页面元素
test()
<a href="http://www.baidu.com">百度搜索</a>xpath写法为//a[test()='百度搜索'] 或 //a[contains(test()),"百度搜索"]