xpath的层级与逻辑定位:
之前我们是通过class和id,name,如果我们所需要的元素没有class,id,name这样的元素,怎么定位呢
1、在不使用xpath情况下:元素没有属性值得时候怎么定位?
2、如果你所需要定位的元素,有属性值,但是不是唯一的,怎么定位;
下边来看一下怎么元素没有属性值得时候怎么定位?
我们可以先定位form元素,然后U1,然后input来相对位置来定位,我们可以通过对父节点来定位,然后逐个位置的往下走,一般一到两级都可以找到;
1 from selenium import webdriver 2 from time import sleep 3 #加载浏览器驱动 4 driver=webdriver.Firefox() 5 #打开百度 6 driver.get("http://www.51zxw.com") 7 sleep(2) 8 #层级和属性结合定位,自学网的首页的输入用户名和密码 9 driver.find_element_by_xpath("//form[@id='loginForm']/u1/input[1]").send_keys("lele") 10 11 driver.find_element_by_xpath("//form[@id='loginForm']/u1/input[2]").send_keys("ljlkjl")
如果你所需要定位的元素,有属性值,但是不是唯一的,怎么定位--------我们可以通过组合定位来定位;
1 from selenium import webdriver 2 from time import sleep 3 #加载浏览器驱动 4 driver=webdriver.Firefox() 5 #打开百度 6 driver.get("http://www.51zxw.com") 7 sleep(2) 8 9 #逻辑组合运算定位 10 #driver.find_element_by_xpath("//input[@class='loinp' and @name='username'] ").send_keys("yuejsdkjf")