8种元素定位方式

页面元素定位的方式  主要有8种  分类如下

元素属性定位 有 id , name , class_name

元素标签定位  tag_name

链接定位 link_text  ,  partial_link_text

选择器定位 xpath  ,  css_selector

因为很多时候只通过  id , name , class_name  ,tag_name  , link_text  ,  partial_link_text  是无法定位到某些元素的  此时就需要借助  xpath 和css_selector

定位方式 难点和重点也就是xpath和css_selector  这两种其实只要会一种即可 。css_selector 这种方式这里就不深入讲解,有兴趣的可以专门去学习下。

xpath 的定位需要对 xml/html 有一定的了解  

1.斜杠  /  的用法和平时选择路径(绝对路径)用法相同  例如:  /xxx  就是选取根节点        /xxx/yyy  就是通过绝对路径选择到元素

2.双斜杆 //  的用法和平时路径(相对路径)用法相同  例如  //xxx 就是选取整个页面的xxx元素  

1和2是可以混合使用的  例如 //xxx/yyy  选取的就是xxx元素下的yyy元素

3. 点  .  选取当前节点的父元素节点

4.点点  ..  选取的是父元素的地址

5.  @  的运用  例如//xxx[@id]  选取的就是xxx元素下有id属性得元素  ,//xxx[@id=yyy]  选取的就是xxx下 id为yyy的元素

6.以上这些如果有多个值的时候 默认返回的都是第一个值   例如  通过 /html/.../input  获取到有多个值 那么返回的是第一个值  要获取第二个值可用 /html/.../input[2]

下面举例几个  

‘//frame//input‘  默认获取的是第一个值

‘//frame//input[2]’  获取的是第二个

‘//input[@id] ‘含有id的

‘//input[not(@id)] ’  不含id的

‘//input[not(@id=“name”)]’  id为name的

‘//*’  查找整个文档的所有元素

‘//*[(count(input))=2]’  input的个数为2的标签

...

这种例子很多  还要自己慢慢深入了解

 

8中定位模式 还有elements的这种

 

 elements 这种返回的是一个列表 所有要利用索引获取到元素 例如 find_elements_by_id(‘xxx’)  那么他返回的就是id为xxx的所有元素  要获取值必须加上索引 

 

转载于:https://www.cnblogs.com/wulinmiao/p/11474738.html

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值