Web自动化测试04:Selenium-XPathCSS定位

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web自动化测试04:Selenium-XPathCSS定位相关的知识,希望对你有一定的参考价值。

系列文章目录

🐟软件测试功能到自动化学习路线图,2022年最新版技术栈

🍑软件测试01:从了解测试岗位职能和测试流程开始,附作业
🍑软件测试02:6大实际案例手把手教你设计测试点
🍑软件测试03:用例执行以及缺陷管理的学习,附禅道下载使用流程
🍑软件测试04:你必须要知道的HTML标签作用
🍑软件测试实战项目web资讯管理平台—黑马头条测试

😊身为开发必知必会的Linux:Linux远程连接/命令的使用
😊Linux命令大全,唯一以案例详解文,持续更新中
😊Linux命令大全以及数据库,唯一以案例详解文,已完结

👼 Web自动化测试01:认识web自动化在什么项目中适用
👼Web自动化测试02:Web自动化测试工具选择大全
👼Web自动化测试03:Selenium安装配置,详细教程
👼Web自动化测试04:Selenium-API操作之元素定位


文章目录


学习目标

我们web自动化的内容,一共分为七个模块。今天开始第二章的学习,Selenium-API操作相关内容。
如果!还有朋友没有掌握Python基础,大家移步到我们的Python专栏进行学习。

本文学习目标:

1.掌握XPath定位策略
2.掌握CSS定位策略

为什么要学习XPath、CSS定位?

1.如果要定位的元素没有id、name、class属性,该如何进行定位?
2.如果通过name、class、tag_name无法定位到唯一的元素,该如何进行定位?

示例:


一、什么是XPath?

1.XPath即为XML Path的简称,它是一门在 XML 文档中查找元素信息的语言。
2.html可以看做是XML的一种实现,所以Selenium用户可以使用这种强大的语言在Web应用中定位元素。

XML:一种标记语言,用于数据的存储和传递。 后缀.xml结尾

<?xml version="1.0" encoding="UTF-8" ?>
<node>
<db id="db" desc="三条边的长度都一样">
<b1>3</b1>
<b2>3</b2>
<b3>3</b3>
<expect>等边三角形</expect>
</db>
<dy>
<b1>4</b1>
<b2>4</b2>
<b3>5</b3>
<expect>等腰三角形</expect>
</dy>
</node>

XPath定位方式之所以强大,是因为它有非常灵活的定位策略

二、XPath定位策略(方式)

1.路径-定位
2.利用元素属性-定位
3.属性与逻辑结合-定位
4.层级与属性结合-定位

XPath定位方法

element = driver.find_element_by_xpath(xpath)

2.1 路径定位(绝对路径、相对路径)

绝对路径:从最外层元素到指定元素之间所有经过元素层级的路径

1).绝对路径以/html根节点开始,使用/来分隔元素层级; 如:/html/body/div/fieldset/p[1]/input
2).绝对路径对页面结构要求比较严格,不建议使用

相对路径:匹配任意层级的元素,不限制元素的位置
1).相对路径以//开始
2).格式://input 或者 //*

练习

需求:打开注册A.html页面,完成以下操作
1).使用绝对路径定位用户名输入框,并输入:admin
2).暂停2秒
3).使用相对路径定位用户名输入框,并输入:123

2.2 利用元素属性

说明:通过使用元素的属性信息来定位元素
格式://input[@id=‘userA’] 或者 //*[@id=‘userA’]

练习

需求:打开注册A.html页面,完成以下操作
1).利用元素的属性信息精确定位用户名输入框,并输入:admin

2.3 属性与逻辑结合

说明:解决元素之间个相同属性重名问题
格式://*[@name=‘tel’ and @class=‘tel’]

练习

需求:打开注册A.html页面,完成以下操作
1).使用属性与逻辑结合定位策略,在test1对应的输入框里输入:admin

2.4 层级与属性结合

说明:如果通过元素自身的信息不方便直接定位到该元素,则可以先定位到其父级元素,然后再找到该元素
格式://*[@id=‘p1’]/input

练习

需求:打开注册A.html页面,完成以下操作
1).使用层级与属性结合定位策略,在test1对应的输入框里输入:admin

2.5 XPath-延伸

2.6 XPath总结

要知道XPath定位策略有哪些

以上是关于Web自动化测试04:Selenium-XPathCSS定位的主要内容,如果未能解决你的问题,请参考以下文章

Selenium-xpath详解

Selenium-xpath详解

Web自动化测试04:Selenium-XPathCSS定位

WEB自动化-04-Cypress 测试用例编写和组织

web自动化测试入门篇04——selenium+python基础方法封装

2018-04-13web自动化学习心得