selenium元素定位之css selector、xpath、以及xpath的绝对路径、相对路径定位方式

本文详细介绍了Selenium中多种元素定位方法,包括id、name、class_name、xpath及cssselector,探讨了不同场景下的定位策略,如绝对路径、相对路径和多元素定位,帮助读者掌握自动化测试中的关键技巧。

上一节主要介绍了selenium的id、name、class_name元素定位的方式,当元素不能通过id、name、class_name进行定位时,还可以通过xpath、css selector进行元素定位。本次主要介绍这几种方式的元素定位。

首先是xpath定位方式,通过浏览器自带的copy xpath功能,将元素的xpath信息复制下来,然后写进脚本中,以百度为例,在chrome上打开百度,在百度页面点击F12,步骤如下图:

点击输入框之后,在高亮一行点击右键,选择copy-->copy xpath,如下图:

copy出来的xpath为//*[@id="kw"],在selenium+Python的脚本中,通过xpath方式进行元素定位的脚本实现如下图所示:

除了chrome浏览器可以copy xpath,firefox浏览器也可以复制,如下图,操作步骤和上面一样,本次不具体记录:

第二,通过css selector进行元素定位,同样以百度为例,如图所示:

copy出来的css  selector为#kw,在selenium+Python的脚本中,通过css selector方式进行元素定位的脚本实现如下图所示:

第二,通过id、name、class_name、xpath等都不能准确的定位元素时,可以通过xpath的绝对路径、相对路径、多元素定位的方式进行定位。

xpath的绝对路径,以百度为例,在浏览器上定位百度的输入框时,html的信息为一下,通过html进行逐层定位,如下图:

通过逐层定位之后,在脚本中的实现如以下图:

通过绝对路径,同样也可以定位元素,但是当元素在很多级目录下时,绝对路径会比较长,难以阅读和维护,所以还可以通过相对路径进行元素定位,如下图所示,通过定位元素的上二级目录的id属性进行相对位置定位:

定位完成后,在脚本中的实现如下图:

第三,通过css selector进行元素定位,同样以百度为例,如图所示:

copy出来的css  selector为#kw,在selenium+Python的脚本中,通过css selector方式进行元素定位的脚本实现如下图所示:

以上就是selenium的元素定位方式,定位方式有很多种,在实际项目中应该根据具体情况进行选择。

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值