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