selenium---xpath轴定位

本文详细介绍了XPath轴定位的概念,包括ancestor、descendant、following-sibling等轴的用法,并提供了两个实例,分别展示了如何通过祖先节点定位孙子节点,以及通过元素的前一个兄弟节点进行定位。通过实例代码演示了在Selenium中如何运用这些定位方法,强调了多练习和理解的重要性。
摘要由CSDN通过智能技术生成

前言

  前面介绍了元素定位通过xpath的方法,安静没有介绍完全,其实通过xpath定位还有一种基本上用不到的方法,这里安静也介绍下,xpath定位之轴定位

轴定位

轴定位其实就是通过html中的一些节点的节点集进行定位的,通常需要用到这些

参考资料:https://www.runoob.com/xpath/xpath-axes.html

轴名称结果
ancestor选取当前节点的所有先辈(父、祖父等)。
ancestor-or-self选取当前节点的所有先辈(父、祖父等)以及当前节点本身。
attribute选取当前节点的所有属性。
child选取当前节点的所有子元素。
descendant选取当前节点的所有后代元素(子、孙等)。
descendant-or-self选取当前节点的所有后代元素(子、孙等)以及当前节点本身。
following选取文档中当前节点的结束标签之后的所有节点。
following-sibling选取当前节点之后的所有兄弟节点
namespace选取当前节点的所有命名空间节点。
parent选取当前节点的父节点。
preceding选取文档中当前节点的开始标签之前的所有节点。
preceding-sibling选取当前节点之前的所有同级节点。
self选取当前节点。

 

 

 

 

 

 使用方法:

轴名称::标签名

例子1:通过祖宗辈进行定位孙子辈

在这里插入图片描述

因为这里我们需要通过祖宗辈来定位,轴节点这里选择 descendant   //*[@id="main"]/descendant::input[@id="zzk_q"] ,这里安静通过ctrl+f来验证下

在这里插入图片描述

通过这个我们查看到只有一个元素,说明我们的定位没有问题,如果小伙伴们还不确认,我们可以通过代码进行验证

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.cnblogs.com/')
driver.find_element_by_xpath('//*[@id="main"]/descendant::input[@id="zzk_q"]').send_keys('测试-安静')
time.sleep(5)
driver.quit()

在这里插入图片描述

例子2:通过节点定位之前节点内容

这里安静还是通过定位找找看来定位

在这里插入图片描述

这里通过想要定位元素的兄弟来定位了该元素  //*[@class='search_btn']/preceding::input[@id="zzk_q"] 

同样,我们可以通过代码进行验证,是否定位正确

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.cnblogs.com/')
driver.find_element_by_xpath('//*[@class="search_btn"]/preceding::input[@id="zzk_q"]').send_keys('测试-安静')
time.sleep(5)
driver.quit()

在这里插入图片描述

这里安静简单的通过轴节点定位举了几个例子,具体的实践操作需要小伙伴们私下自己多锻炼,多写,元素定位没有什么方面的地方,只有写的多了,见得多了,自然也就明白了。


如果感觉安静些的对您有帮助可以点个关注,持续更新,也可以关注安静个人公众号:“跟着安静学测试”
然后来一起学习交流
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值