xpath
是一种在XML文档中定位元素的语言
1.绝对路径定位
find_element_by_xpath('/html/body/div/div[1]/div/div/div/form/span/input[1]') 编辑条id=kw
说明:最外层是HTML,在body内,一层一层的查,如果存在多个元素用[]填写数字,例如div[2],表示当前层级下的第二个div标签,下标从1开始
2.利用元素属性定位 (只要元素属性能唯一标识一个元素,任意属性值都可以使用)
a.根据id
id表示id
input表示定位元素的标签名
find_element_by_xpath("//input[@id=‘kw’]")
b.根据name
find_element_by_xpath("//input[@name=‘wd’]")
c.根据class
find_element_by_xpath("//input[@class="s_ipt]")
d.不指定标签名
find_element_by_xpath("//*[@class="s_ipt]")
3.层级与属性结合
如果一个元素本身没有可以唯一标识这个元素的属性值,我们可以找其上一级元素,如果上一级元素有可以唯一标识属性的值,也可以拿来使用。
find_element_by_xpath("//span[@class='bg s_ipt_wr']/input")
先通过class属性定位到父元素,后面input表示父元素下面的子元素
4.使用逻辑运算符
如果一个属性不能唯一区分一个元素,我们还可以使用逻辑运算符连接多个属性来查找元素。
举例:
<input id="kw" class="su" name="ie">
<input id="kw" class="aa" name="ie">
<input id="bb" class="su" name="ie">
find_element_by_xpath("//input[@id='kw' and @class='su']/span/input")
浙公网安备 33010602011771号