软件测试/测试开发丨Selenium 高级定位 Xpath

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/27036

一、xpath 基本概念

XPATH是一门在XML文档中查找信息的语言
XPATH使用路径表达式在XML文档中进行导航
XPATH的应用非常广泛,可以用于UI自动化测试

二、xpath 使用场景

  • 自动化测试
  • app自动化测试

2.1、XPATH相对定位的优点

image

# 复制的绝对定位
$x('//*[@id="ember75"]/td[1]/span/a')
# 编写的相对行为
$x("//*[text()='技术分享 | SeleniumIDE用例录制']")

2.2、xpath 定位的调试方法

  • 浏览器-console

    • $x("xpath表达式")
  • 浏览器-elements

    • ctrl+f 输入xpath或者css

三、xpath 语法与实战

3.1、xpath 基础语法(包含关系)

表达式结果示例
/从该节点的子元素选取$x(‘/’)
//从该节点的子孙元素选取$x(‘//’)
*通配符$x(‘///*’)
nodename选取此节点的所有子节点
选取当前节点的父节点
@选取属性
# 整个页面
$x("/")
# 页面中的所有的子元素
$x("/*")
# 整个页面中的所有元素
$x("//*")
# 查找页面上面所有的div标签节点
$x("//div")
# 查找class属性为site-logo的节点
$x('//*[@class="site-logo"]')
# 查找节点的父节点
$x('//*[@class="site-logo"]/..')

3.2、xpath 顺序关系(索引)

  • xpath通过索引直接获取对应元素

image

xpath 高级用法

  • [last()]:选取最后一个
    image

  • [表达式1 and 表达式2]:与关系

    • $x(‘//*[@class=“container” and @id=“main-container”]’)
  • [表达式1 or 表达式2]:或关系

    • $x(‘//*[@data-topic-id="7306"or@id=“ember476”]’)
  • [text()=“文本内容”]:根据文本内容定位
    image

  • [contains(方法,“匹配的内容”]:根据文本内容包含定位

    • 第一个参数匹配方法,如:text(),@id,@class等,第二参数匹配的内容
      image
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值