首页 > 其他分享 >Selenium自动化测试_元素定位

Selenium自动化测试_元素定位

时间:2022-08-26 08:33:30浏览次数:61  
标签:定位 el text 元素 Selenium 测试 自动化 div find

Selenium 提供了8个元素定位的API,可以分为三种:

1. 标签定位策略
2. 属性定位策略
3. 通用定位策略

find_element 用来定位单个元素
find_elements 用来定位多个元素

1. 标签定位策略

LINK_TEXT :精确匹配
PARTIAL_LINK_TEXT :模糊匹配

1 driver.get("http://101.34.221.219:8010/") # 控制浏览器
2 el = driver.find_element(By.PARTIAL_LINK_TEXT, "登") # 定位元素
3 print(el.tag_name, el.text) # 打印元素的信息

2. 属性定位策略

ID     NAME     TAG_NAME    CLASS_NAME

1 <input
2 id="search-input"
3 name="wd"
4 type="text"
5 placeholder="其实搜索很简单^_^ !"
6 value=""
7 autocomplete="off"
8 >
1 el = driver.find_element(By.TAG_NAME, "input")
2 print(el.tag_name, el.text) # 打印元素的信息
3 el = driver.find_element(By.ID, "search-input")
4 print(el.tag_name, el.text) # 打印元素的信息
5 el = driver.find_element(By.NAME, "wd")
6 print(el.tag_name, el.text) # 打印元素的信息

3. 通用定位策略

对于大部分的定位策略,其底层,是使用CSS或者XPath实现。

XPath 是一种查询语言,支持逻辑表达式和函数,可以实现复杂元素的动态定位,可以用于App自动化测试的定位。

1 //*[@id="search-input"]
2 /html/body/div[3]/div/div[3]/form/div/input
3 /html/body/div/../div

XPath 语法

/ (开头) :根路径
// :任一级
/ (在中间) :下一级
.  :当前节点(同级)
[n]  :序号 表示同级元素的序号
@ :属性 ,//input[@name="wd"]

 XPath 函数

text : 精确匹配                $x("//*[text()='iphoneX新品发布了']")
contains :模糊匹配        $x("//*[contains(text(),'新品发')]")
starts-with:开头一致      $x("//*[starts-with(text(),'iphoneX新品')]")

标签:定位,el,text,元素,Selenium,测试,自动化,div,find
From: https://www.cnblogs.com/lzcnblogs/p/16621555.html

相关文章

  • Selenium自动化测试_实例
    一、简单的例子业务步骤:1.访问项目首页:http://101.34.221.219:8010/2.选择登录按钮:a.text='登录'3.点击登录按钮:a.click()4.定位账号输入框xpath='/ht......
  • selenium元素定位和常见操作
    selenium元素定位和常见操作一、selenium的元素定位:name定位,id定位,class定位,标签定位,链接文本定位,部分链接文本定位,xpath定位,css定位在进行元素定位前,先要安装selenium......
  • @DataJpaTest 进行测试的坑
    @DataJpaTest 这个注解主要用来在Spring项目中测试JPA数据源。默认情况下,带有 @DataJpaTest 注解的测试使用嵌入式内存数据库。因此 @DataJpaTest 这个注解还是......
  • Spring Data 测试时的 Repository 提示为空对象
    错误信息如下:java.lang.NullPointerException atcom.usvisatrack.common.data.tests.jpa.UserRepositoryTest.testInsert(UserRepositoryTest.java:57) atjava.base/j......
  • Mac+Jenkins+Git+Python自动化项目集成-jenkins配置
    Mac+Jenkins+Git+Python自动化项目集成-jenkins配置一、下载安装jenkins(mac)1.Jenkins.war包下载地址:http://updates.jenkins-ci.org/download/war/2.打开终端输入:java......
  • 性能测试学习笔记——工具的使用,性能测试流程
    性能测试学习笔记一、为什么要做性能测试:因为功能和接口测试只能验证软件的功能是否正常运行,功能和接口测试不能验证软件的性能在多用户,多并发,长时间的操作下,能否正常运......
  • 四、Spring Cloud Alibaba项目,测试模块之生产者与消费者
    1、模块说明生产者:service-order消费者:service-user说明:消费者user调用生产者order,调用订单服务 2、生产者pom文件<?xmlversion="1.0"encoding="UTF-8"?><proj......
  • python selenium使用无头模式执行用例
    什么是无头模式?HeadlessBrowser模式是浏览器的无界面状态,即在不打开浏览器界面的情况下使用浏览器。该模式的好处如下:1)可以加快web自动化测试的执行时间,对于web自动化......
  • java操作selenium浏览器自动化操作
    seleniumgithubselenium官网各类型浏览器webDriver驱动下载chrome浏览器webDriver驱动下载,注意要与电脑上实际安装的浏览器版本相对应原理说明:java代码直接通过sele......
  • tidb oom测试
    #准备测试数据:sysbench--config-file=config_newoltp_common.lua--tables=3--table-size=500000prepare#执行语句explainanalyzeselecta.c,b.c,c.pad fromsb......