xpath使用路径表达式来选取xml文档或者HTML文档上的节点或节点集
driver.find_element_by_xpath()
一、路径
绝对路径:以单斜杠/开头
相对路径:以双斜杠//开头,可以跨级,两个元素可以不用挨着
二、元素属性
//*或标签名[@属性=“属性值”],例如://input[@id="kw"]
//div[@class="class属性值"],表示匹配class属性的div标签
三、层级和属性结合
//div[@class="class属性值"]/span
四、属性和逻辑结合
//div[@id="id属性值"and @class="class属性值"]
一个属性不能唯一定位时,可以用and拼接多个属性
延伸:
//div[@class="class属性值"],表示匹配class属性的div标签
也可以不指定标签类型
//*[@class="class属性值"] ,表示匹配任意类型的标签,且标签的class属性为class属性值
//*[@class] 表示匹配所有具备class属性的任意标签
//span[text()="标签对中间的文本值"],表示根据标签对中间的文本值进行定位,也可以不指定标签类型,如://*[text()="标签对中间的文本值"];也可以匹配所有有文本的,如://span[text()];