目录
一、webdriver定位方法
1、xpath基本定位用法
2、xpath相对路径/绝对路径定位
3、xpath文本、模糊、逻辑定位
一、webdriver定位方法
1、id 定位
driver.find_element_by_id()
2、name定位
driver.find_element_by_name()
3、class定位
driver.find_element_by_class_name()
4、link定位-->精准定位
driver.find_element_by_link_text()
5、partial_link定位-->模糊定位
driver.find_element_by_partial_link_text()
6、tag_name定位-->标签名定位
找到页面上所有标签名为input的标签,返回一个列表
driver.find_elements_by_tag_name()
7、css选择器
driver.find_element_by_css_selector()
8、xpath定位
// 2个斜杠表示相对路径 *表示任意标签
driver.find_element_by_xpath()
9、By方法
from selenium.webdriver.common.by import By
1)driver.find_element(By.XXX,’定位值’)
XXX为上述八种定位方法名称,该方法元素值可以用元组格式定义,
适用于页面元素的批量管理。
2)driver.find_elements(By.XXX,’定位值’)
该方法会定位符合条件的所有元素,以列表格式返回
- xpath定位方法详解
1、xpath基本定位用法
1) 使用属性值定位
driver.find_element_by_xpath(‘//标签名[@属性名=“属性值”]’)
原则上只要是唯一值都可以使用
Eg:-- driver.find_element_by_xpath('//input[@id="loginUsername"]')
-- driver.find_element_by_xpath('//input[@class="form-control tecon required"]')
-- driver.find_element_by_xpath('//input[@placeholder="someone@example.com"]')
2)使用多个属性值定位
-不同属性值可用逻辑运算符连接,如and、or
--driver.find_element_by_xpath(‘//标签名[@属性名1=“属性值1” and @属性名2=“属性值2”]’)
-也可以分开填写
--driver.find_element_by_xpath(‘//标签名[@属性名1=“属性值1”][ @属性名2=“属性值2”]’)
Eg:--driver.find_element_by_xpath('//input[@id="loginUsername" and @name="username"]')
--driver.find_element_by_xpath('//input[@id="loginUsername"][@name="username"]')
2、xpath相对路径/绝对路径定位
1)绝对路径
以 / 开头,根据标签名从根目录开始一级一级定位下来,例如定位ID输入框。
/html/body/div[2]/div/div/from/div[3]/input
2)相对路径
以 // 开头,需要定位的元素没有唯一属性值,但其父级、子级、兄弟级元素有唯一属性值的情况下可使用。
例如想定位ID输入框的父级元素,但其class属性与密码输入框父级相同,直接用class属性定位不是唯一值。就可以先定位ID输入框元素来逆向定位他的父级元素。
//input[@id="loginUsername"]/..
回到上级目录用 .. 表示,跟linux操作相同。
3、xpath文本、模糊、逻辑定位
1)文本定位
元素中含有文本且基本不会改变的元素可以直接使用文本定位
例如登录按钮定位值可表达为
//button[text()=”Login”]
2)模糊定位
在遇到动态属性值时可以使用,基于contains() 、starts-with()、ends-with()这三函数
1))contains() 包含xxx的属性值
//button[contains(@class,"btn")]
2))starts-with() 以xxx开头的属性值文章来源:https://www.toymoban.com/news/detail-784888.html
//button[starts-with(@class,"btn")]
3))ends-with()以xxx结尾的属性值文章来源地址https://www.toymoban.com/news/detail-784888.html
//input[ends-with(@class,"btn-box")]
到了这里,关于Selenium常用元素定位方法汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!