元素定位-xpath轴定位

​​​​​​​定位技巧:

1,Chrome浏览器下 查看页面的源码,在Elements标签下 使用快捷键(command+中/英+F)调出"Find by string,selector,or XPath" 窗口,可以先试着输入xpath语句校验能不能定位到唯一元素。

2,定位元素时优先使用id,name,及其他唯一属性,当属性是动态变化时不能采用。

一、xpath基本定位用法

1.使用id定位 -- driver.find_element_by_xpath('//input[@id="kw"]')

2.使用class定位 -- driver.find_element_by_xpath('//input[@class="s_ipt"]')

二、xpath相对路径/绝对路径定位

1.相对定位 -- 以// 开头 如://form//input[@name="phone"]

2. 绝对定位 -- 以/ 开头,但是要从根目录开始,比较繁琐,一般不建议使用 如:/html/body/div/a

三、xpath文本、模糊、逻辑定位

1.【文本定位】使用text()元素的text内容 如://button[text()="登录"]

2. 【模糊定位】使用contains() 包含函数 如://button[contains(text(),"登录")]、//button[contains(@class,"btn")] 除了contains不是=等于

3. 【模糊定位】使用starts-with -- 匹配以xx开头的属性值;ends-with -- 匹配以xx结尾的属性值 如://button[starts-with(@class,"btn")]、//input[ends-with(@class,"-special")]

4. 使用逻辑运算符 -- and、or;如://input[@name="phone" and @datatype="m"]

四、xpath轴定位

1 轴运算

  •      ancestor:祖先节点 包括父节点​​​​​​​
  •         parent:父节点
  •         prceding:当前元素节点标签之前的所有节点 
  •         following:当前元素节点标签之后的所有节点 
  •         prceding-sibling:当前元素节点标签之前的所有兄弟节点
  •         following-sibling:当前元素节点标签之后的所有兄弟节点

使用语法:

轴名称 :: 节点名称

  使用较多场景:页面显示为一个表格样式的数据列

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值