05、Xpath与CSS_selector定位

一、xpath

  1、何时适用

在实际项目中标签没有id、name、class属性
id、name、class属性值为动态获取,随着刷新或加载而变化

05、Xpath与CSS_selector定位

  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")

 

未完待续先下班。。。

 

上一篇:08、键盘事件


下一篇:BF发卡网开源源码 详细搭建教程