0


Selenium八种定位方式

八种定位方式分别是:id、name、class name、tag name 、link text、partial link textxpath、css selector。

元素标签或者元素属性:id、name、class name、tag name

元素超链接文本定位:link text、partial link textxpath

元素路径定位:xpath(绝对路径、相对路径)

元素样式定位:css selector

1、ID定位

  • 说明:id定位就是通过元素的id值进行定位,在一份标准的html页面中,每个id都是唯一的,id定位是最方便一种定位方式
  • 用法:driver.find_element(By.ID,'id')
  • 示例:以打开百度搜索框,输入"selenium"为例子
from selenium import webdriver
from selenium.webdriver.common.by import By
dri = webdriver.Chrome()
dri.get('https://www.baidu.com/')
dri.find_element(By.ID, 'kw').send_keys('selenium')

2、NAME定位

  • 说明:HTML文档用来name指定元素名称,name属性在HTML文档中可以不是唯一的,name定位就是根据元素的name值进行元素定位
  • 用法:driver.find_element(By.NAME,'name')
  • 以打开百度搜索框,输入"selenium"为例子
from selenium import webdriver
from selenium.webdriver.common.by import By
dri = webdriver.Chrome()
dri.get('https://www.baidu.com/')
dri.find_element(By.NAME, 'wd').send_keys('selenium')

3、CLASS_NAME定位

  • 说明:HTML文档用class_name指定元素的类名,class定位就是通过class属性来定位,有的元素没有class属性
  • 用法:driver.find_element(By.CLASS_NAME,'class_name')
  • 以打开百度搜索框,输入"selenium"为例子
from selenium import webdriver
from selenium.webdriver.common.by import By
dri = webdriver.Chrome()
dri.get('https://www.baidu.com/')
dri.find_element(By.CLASS_NAME, 's_ipt').send_keys('selenium')

4、TAG_NAME定位

  • 说明:HTML即超文本标记语言,实际上HTML文档就是一个一个标签(tag)组成,因此这种定位方式就是通过标签名进行定位,但是由于这种定位方式较为低效率,一般不使用
  • 用法:driver.find_element(By.TAG_NAME,'tag_name')

5、LINK_TEXT定位

  • 说明:与前面几个不同,link_text是用来专门定位超链接文本的
  • 用法:driver.find_element(By.LINK_TEXT,'link_text')
  • 以打开百度搜索框,点击”hao123“为例子
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
dri = webdriver.Chrome()
dri.get('https://www.baidu.com/')
time.sleep(2)
dri.find_element(By.LINK_TEXT, 'hao123').click()

6、PARTIAL_LINK_TEXT

  • 说明:partial_link_text对于 link_text就相当于模糊查询和精准查询的关系
  • 用法:driver.find_element(By.PARTIAL_LINK_TEXT,'partial_link_text')
  • 以打开百度搜索框,点击”hao123“为例子
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
dri = webdriver.Chrome()
dri.get('https://www.baidu.com/')
time.sleep(2)
dri.find_element(By.PARTIAL_LINK_TEXT, 'hao').click()

7、XPATH定位

  1. xpath定位是 xml path的简称,是一种用来确定xml文档中某部分位置的语言
  2. HTML文档可以看作是XML的一种实现方式,因此在selenium中,xpath定位也成为常用的且准确性极高的定位方式,它的定位方式也非常灵活。可以使用路径定位、元素属性定位、层级与属性定位
  3. 定位用法:driver.find_element(By.XPATH, 'xpath')
  4. 以打开百度搜索框,输入”selenium“为例
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
dri = webdriver.Chrome()
dri.get('https://www.baidu.com/')
time.sleep(2)
dri.find_element(By.XPATH, '//*[@id="kw"]').send_keys("seleenium")

8、CSS_SELECTOR定位

  1. css(Cascading Style Sheets)是一种语言,它用来描述HTML和XML的元素显示样式。
  2. css语言中有css选择器,在selenium中也可以使用这种选择器来进行元素定位。
  3. css定位方式相较于xpath速度更快,语言也很强大
  4. css定位语法:driver.find_element(By.CSS_SELECTOR, 'css')

本文转载自: https://blog.csdn.net/Yll222520/article/details/126764956
版权归原作者 感谢信收割机 所有, 如有侵权,请联系我们删除。

“Selenium八种定位方式”的评论:

还没有评论