chrome中通过xpath查找元素并实时验证

  1. 以CSDN博客首页为例,查找登录链接。
  2. 打开页面,按F12查看源码
  3. CTRL+F调出查找输入框,输入你要查找的元素信息(比如输入登录查找它在源码中的位置)。
    或者先点击左上角的箭头,然后点击你想查看的登录/注册,右侧就会以灰色背景提示你所点击的元素的对应源码。
    在这里插入图片描述

然后有好几种方法可以确定元素的xpath:

  1. 最简单的办法就是在源码上点击右键,选择Copy-Copy xpath
    在这里插入图片描述

  2. 可以按照HTML标签的层级在输入框中输入,一步步查找
    比如/html/body/div/div/div/div[3]/div/div/a,在输入的时候,对应的元素会以黄色背景高亮显示。遇到同一个层级的相同元素,比如并列的几个<div>元素,就加上中括号,里面输入它在层级中的顺序。比如div[3]即为相同层级的第3个div元素。
    在这里插入图片描述

  3. 根据class来查找,源码中我们可以看到它对应的class是class="toolbar-btn toolbar-btn-login csdn-toolbar-fl "],那么我们双击class的位置,复制class的内容,然后在输入框中输入//div[@]//表示所有元素,不限定位置。div表示div标签,中括号当中输入特征。然后在@后面粘贴对应的特征。
    //div[@class="toolbar-btn toolbar-btn-login csdn-toolbar-fl "]
    它也会黄色高亮显示。
    在这里插入图片描述

  4. 也可以通过链接href=来查找,同样双击href=xxx的位置,复制粘贴到查找输入框:
    //a[@ href="https://passport.csdn.net/account/login"]
    在这里插入图片描述

  5. 同样地,也可以通过id属性来定位。最常见的属性为id,name,class等等,对于属性的类别没有特殊限制,只要能够唯一地标识一个元素即可。
    当单个属性不足以唯一标识某一个元素时,也可以采取条件组合的方式,例如:
    //div[@id='xxx' and @name='xxx']

  6. 通过text()方法定位
    //a[text()='登录/注册']
    在这里插入图片描述

  7. 通过contains()方法定位
    //标签名[contains(@属性, '属性值')]
    //a[contains(@href,'login')]
    在这里插入图片描述

  8. 如果一个元素无法通过自身属性直接定位到,则可以先使用上述方法定位它的父(或者更上一级的)元素,然后再找下一级即可。
    例如//div[@class='toolbar-btns onlyUser']/div,就是通过@class='toolbar-btns onlyUser'找到它的上一级元素,然后定位到下一级的div标签:
    在这里插入图片描述

常见路径表达式
表达式说明
nodename选取此节点的所有子节点
/从根节点选取
//选取符合匹配调节的节点,处于任意位置均可
.选取当前节点
选取父节点
@选取属性
通配符
通配符说明
*匹配任何元素节点
@*匹配任何元素属性
node()匹配任何类型的节点
实例
路径表达式结果
link选取link元素的所有子节点
/html选取根元素html
/html/body/div选取位于/html/body下面一个层级的所有div元素
/html/body/div[2]选取位于/html/body下面一个层级的第2个div元素
/html/body/div[last()-1]选取位于/html/body下面倒数第2个div元素
//div选取所有div元素,而不管它们的位置在哪里
//@id选取所有带id属性的元素
//*[@id=‘csdn-toolbar’]选取所有id='csdn-toolbar’的元素
//div[@lang=‘en’]选取所有lang='en’的div元素
/bookstore/book[price>30]选取bookstore中的book元素,且其中的price元素必须>30
/bookstore/book[price>30]/title选取bookstore中的book元素的title元素,且其中的price元素必须>30

题外话: selenium+chromedriver还有更快速的方法来定位链接,无需通过xpath:
比如element = browser.find_element_by_link_text("登录/注册")

参考文献:

  1. w3school XPath 教程
  2. XPath 教程 | 菜鸟教程
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值