Selenium 驱动配置 和 元素定位

目录

驱动配置

元素定位

By类普通参数方法

CSS选择器参数方法

By类xpath参数方法


驱动配置

java 复制代码
//新建chrome浏览器驱动配置
ChromeOptions options = new ChromeOptions();

//添加参数,允许远程访问
options.addArguments("--remote-allow-origins=*");

//新建WebDriver浏览器驱动
WebDriver driver = new ChromeDriver(options);

元素定位

Webdriver提供了三类定位元素的方法,包括:

  • By类常用方法
  • CSS选择器方法
  • By类xpath方法

不管用哪种方式,必须保证页面上该属性的唯一性。


所有的定位方法都是 findElement() 方法,只是参数不同。

除 findElement() 方法外,还有 findElements() 方法。前者返回单个元素,后者返回元素集合。


By类普通参数方法

方法 描述 参数
findElement(By.id("属性值")) 通过元素的 id 属性值来定位元素 对应的id属性值
findElement(By.name("属性值")) 通过元素的 name 属性值来定位元素 对应的name值
findElement(By.className("类名")) 通过元素的 class 名来定位元素 对应的class类名
findElement(By.tagName("标签名")) 通过元素的 tag 标签名来定位元素 对应的标签名
findElement(By.linkText("文本")) 通过元素标签对之间的文本信息来定位元素 文本内容
findElement(By.partialLinkText("部分文本")) 通过元素标签对之间的部分文本信息来定位元素 部分文本内容

CSS选择器参数方法

  • id选择器:findElement(By.cssSelector("#kw")

  • name定位:findElement(By.cssSelector("name=wd")

  • class选择器:findElement(By.cssSelector(".s_ipt")

  • 标签选择器:findElement(By.cssSelector("div")


使用CSS选择器作为参数时,可以根据CSS的层级定位进行输入,如:

findElement(By.cssSelector("html > body > form > span > input"))

findElement(By.cssSelector("span.soutu-btn> input#kw"))


By类xpath参数方法

|---------------------------------|-------------|
| xpath 常用符号、格式和方法 ||
| 符号 | 说明 |
| * | 通配符 |
| / | 绝对路径 |
| // | 相对路径 |
| 下标 | 索引,从1开始 |
| 标签名@属性名='属性值' | 属性值表示格式 |
| text()='文本' | 文本定位 |
| contains(text(),'部分文本') | 部分文本定位 |

部分定位方法示例:

  • id定位:findElement(By.xpath("//*@id='kw'"))

  • name定位:findElement(By.xpath("//*@name='wd'"))

  • class属性定位:findElement(By.xpath("//input@class='s_ipt'"))

  • 定位绝对路径:findElement(By.xpath("/html/body/form/span/input"))

  • 定位相对路径:findElement(By.xpath("//form@id='form'/span/input"))

  • 索引定位:findElement(By.xpath("/form/span1/input"))

  • 组合属性定位:findElement(By.xpath("//input@id='kw' and @name='wd'"))

  • 文本定位:findElement(By.xpath("//spantext()='文本'"))

  • 部分文本定位:findElement(By.xpath("//spancontains(text(),'部分文本')"))


相关推荐
B2_Proxy19 小时前
Selenium配置代理IP的完整指南:从启动参数到认证扩展
selenium·测试工具
weixin_4407305021 小时前
Playwright介绍、特点、小例子还有与传统selenium的区别
selenium·测试工具·playwright
2601_962387823 天前
web自动化测试实战教程【selenium/unittest/pytest】【共193课
selenium·pytest·devops·web自动化测试·unittest
2601_962297253 天前
Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例
python·selenium·jenkins·pytest·allure
是吕先森3 天前
【python】selenium实现web自动化测试
前端·python·selenium
weixin_440730503 天前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
岁月失语唯石能言4 天前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试
2601_962077714 天前
selenium常用的三种等待方式:sleep(),隐性等待,显性等待
selenium·sleep·等待方式·隐性等待·显性等待
降临-max6 天前
Selenium(HTML+JavaScript&DOM+Selenium IDE)
自动化测试·selenium·测试工具·html
2601_962203516 天前
小白爬虫——selenium入门超详细教程
爬虫·selenium·测试工具