写点什么

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

作者:测试人
  • 2023-08-29
    北京
  • 本文字数:629 字

    阅读完需:约 2 分钟

免费领取:测试资料+测试用例+简历模板+测试文档

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/27036

一、xpath 基本概念

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

二、xpath 使用场景

  • 自动化测试

  • app 自动化测试

2.1、XPATH 相对定位的优点


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

2.2、xpath 定位的调试方法

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

  • 浏览器-elementsctrl+f 输入 xpath 或者 css

三、xpath 语法与实战

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


# 整个页面$x("/")# 页面中的所有的子元素$x("/*")# 整个页面中的所有元素$x("//*")# 查找页面上面所有的div标签节点$x("//div")# 查找class属性为site-logo的节点$x('//*[@class="site-logo"]')# 查找节点的父节点$x('//*[@class="site-logo"]/..')
复制代码

3.2、xpath 顺序关系(索引)

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


xpath 高级用法

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

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

  • [表达式 1 or 表达式 2]:或关系 $x(‘//*[@data-topic-id="7306"or@id=“ember476”]’)

  • [text()=“文本内容”]:根据文本内容定位

  • [contains(方法,“匹配的内容”]:根据文本内容包含定位第一个参数匹配方法,如:text(),@id,@class 等,第二参数匹配的内容

发布于: 刚刚阅读数: 8
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发丨Selenium 高级定位 Xpath_程序员_测试人_InfoQ写作社区