小笔记-简单但够用系列_xpath 元素定位

xpath 定位方法

浏览器可通过选中元素位置右键检查,复制 xpath ,虽然方便快捷,但有时太冗长或不适用,仍需手写优化 xpath 定位方法。
下面带你快速入坑 xpath 元素定位。

xml 文件样例

<body><div id="csdn-toolbar">
                    <div class="toolbar-inside">
                      <div class="toolbar-container">
                        <div class="toolbar-container-left">
                          <div class="toolbar-logo toolbar-subMenu-box csdn-toolbar-fl">
                          <a data-report-click="{&quot;spm&quot;:&quot;3001.4476&quot;}" data-report-query="spm=3001.4476" href="https://www.csdn.net/">
                          <img title="CSDN首页" src="https://img-home.csdnimg.cn/images/20201124032511.png">
                          </a>
                    </div>
                          <ul class="toolbar-menus csdn-toolbar-fl">
                          <li class="active " title="阅读深度、前沿文章">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/&quot;,&quot;spm&quot;:&quot;3001.4477&quot;}" data-report-query="spm=3001.4477" href="https://blog.csdn.net/">
                                  博客
                                </a>          
                              </li>
                              <li class="" title="马上开始系统学习">
                              ...
                              ...
                              </div> </div> </div> </div> </div></body>

层级定位

  • / 直接子级
  • // 跳级
    示例:
/div/div/div/div/a          ----根据子级定位第四级 div 下的 a 元素
//*a                              ----跳级定位 a 元素

属性定位

  • @ 访问对应属性
    示例
//[@class="active"]       ----定位属性中有 class="active" 的元素

函数定位

  • contains(属性,“内容”) 包含
  • text() 文字
    示例
//*[contains(@title,"CSDN")]
//*a/text()    ---获取层级的text文本
//*[contains(text(),"博")]    ---定位 text 文本中包含 “博” 的元素

在浏览器控制台使用 xpath 定位

F12 打开浏览器的控制台,以 $x(’ ') 使用 xpath 方法定位元素。
在这里插入图片描述

踩坑记录

列表元素历遍问题
文本内容获取及特殊格式文本处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值