同一行 绝对定位_Selenium自动化测试——Xpath定位

在测试工作中,Selenium的Xpath定位方法常用于查找元素。本文介绍了Xpath的绝对路径和相对路径定位,包括如何使用绝对路径根据元素在页面的完整地址查找,以及相对路径如何标识元素的相对位置,保持对位置变化的适应性。同时提到了索引定位在处理相同类型的多个元素时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在测试工作中通过定位查找元素是较为常用的,但有些时候无法查到测试对象较为完善的属性及属性值,Selenium提供了一个更为全面的方法,通过元素在被测页面中的位置属性进行查找。

Xpath是某个元素在XML文件中所处的位置,通过Xpath定位元素,精准度较高,但由于Xpath需遍历页面,因此查找性能较弱。

1、绝对路径

绝对路径是Xpath识别对象最为简单的一种方法,即设置测试对象在页面中的完整路径地址,然后通过该地址进行元素查找。如图1所示。

18feefaaed2f280cd8f7e2667e25825c.png

图1注册按钮XPATH路径

从上图可以看到,FireFox中通过FirePath查找到用户注册界面中【立即注册】按钮的绝对Xpath显示为:

html/body/div[6]/div/form/table/tbody/tr[7]/td[2] 

利用Xpath绝对路径查找元素方法如下:

 driver.find_element_by_xpath("html/body/div[6]/div/form/table/tbody/tr[7]/td[2] ").click()

绝对路径的好处是容易理解,根据测试对象在页面中的位置一层层解析下来,缺点是一旦页面发生变化,则路径可能无法再次使用。

2、相对路径

与绝对路径不同的是,相对路径仅标识了测试对象的相对位置,只要测试对象本身不发生位置变化,则依然能够查找到对象。图6- 5中测试对象的相对路径是:

 .//*form/table/tbody/tr[7]/td[2]

故采用相对路径查找的方法如下:

 driver.find_element_by_xpath(".//*form/table/tbody/tr[7]/td[2]").click()

1. 索引

如果待查找的元素较多,且同属于某个类别,则可以使用索引进行查找。如图2所示功能:

e18cca7716abd5507eedd42c11f2a410.png

图2 XPATH索引查找元素

上图三个复选框属于同一个类型,可利用索引方式完成三个复选框的选择。如:

413864e7effd173c054d1d87dbead0ba.png

首先识别复选框,获取其个数,然后通过列表循环方式逐个点击。

Xpath具有非常多的功能,本节主要介绍常用的几种,小伙伴们可在其官方网站详细学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值