selenium---xpath轴定位

597 篇文章 17 订阅
51 篇文章 5 订阅

轴定位

轴定位其实就是通过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()

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

点赞关注~持续分享,加入我们,了解更多。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值