元素定位几种方式

from selenium import webdriver
from selenium.webdriver.common.by import By
#打开谷歌浏览器
driver=webdriver.Chrome()
#访问网址
driver.get('https://www.baidu.com/')
#搜索
driver.find_element(By.ID,'kw').send_keys('谷歌浏览器与驱动对应版本')
driver.find_element(By.ID, 'su').click()

###八大元素定位:id,name,class_name,xpath,css,tag_name,link_text,partial_link_text

#id定位:将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过对应id定位输入框 通过 send_keys(‘输入的内容’)

driver.find_element(By.ID,'kw').send_keys('谷歌浏览器与驱动对应版本')

#iname定位:将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过name定位输入框 通过 send_keys(‘输入的内容’)

driver.find_element(By.NAME,'wd').send_keys('谷歌浏览器与驱动对应版本')

#将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过PARTIAL_LINK_TEXT定位链接 点击 click()

driver.find_element(By.PARTIAL_LINK_TEXT,'国防部').click()

#将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过LINK_TEXT定位链接 点击 click()

#driver.find_element(By.LINK_TEXT,'国防部').click()

#xpath定位:

 #绝对路径:/开头是绝对路径  找到某个标签右键copy-copy full xpath
 #如:/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
 driver.find_element(By.XPATH,'/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('谷歌浏览器与驱动对应版本')
 #1相对路径://开头是相对路径
  #1相对路径+索引 //form/span[1]/input
  driver.find_element(By.XPATH,'//form/span[1]/input').send_keys('谷歌浏览器与驱动对应版本')
  #2相对路径+属性定位 //input[@autocomplete='off']  //*[@*='off']均可换为*
 driver.find_element(By.XPATH,"//input[@autocomplete='off']").send_keys('谷歌浏览器与驱动对应版本')
  #3相对路径+通配符定位
  可以将某一个标签换为*,如将上面//input[@autocomplete='off']中input标识换为*,//*[@autocomplete='off'],标识整个网页中所有含有autocomplete='off'路径,#经常会出错
  #4相对路径+部分属性值定位
  以XX开头://input[starts-with(@autocomplete,'of')]   autocomplete属性以of开头
 以XX结尾://input[substring(@autocomplet,2)='ff']   autocomplete属性j从第2个字节开始截取,截取后值=ff
 包含xx: //input[contains(@autocomplete,'of')]   autocomplete属性包含of
  #5相对路径+文本定位
  //span[text()='按批片搜索']

#css定位:绝对路径,不用
通过id和class定位、通过属性定位,通过部分元素定位、查询子元素定位,查询兄弟节点定位

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值