一、xpath
1、何时适用
在实际项目中标签没有id、name、class属性 id、name、class属性值为动态获取,随着刷新或加载而变化
2、绝对路径,一般不用
特点:绝对路径会比较长,难以阅读和维护,当路径更改后,则无法定位
结构:/html/body/div[1] 从最*开始查找,一个左斜线表示
chrome中:右键copy full xpath
from selenium import webdriver import time url1 = "http://www.baidu.com" bf = webdriver.Chrome() #使用谷歌浏览器驱动 bf.maximize_window() #最大化窗口 bf.get(url1) #打开百度 #绝对路径方式定位 xpath = bf.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input") xpath.send_keys("python")
3、相对路径,常用
特点:较为灵活,页面更改也可查得到,语句较短可读性强
结构:标签+属性定位 //标签名[@属性名=”属性值“] 两个左斜线表示
chrome中:右键copy xpath
备注:xpath内的路径,如果是双引号,里面属性值则需要用单引号区分,否则报错
from selenium import webdriver import time url1 = "http://www.baidu.com" bf = webdriver.Chrome() #使用谷歌浏览器驱动 bf.maximize_window() #最大化窗口 bf.get(url1) #打开百度 #绝对路径方式定位 bf.find_element_by_xpath("//*[@id='kw']").send_keys("python")
未完待续先下班。。。