html - 如何获得此 xpath 的第二个值?
问题描述
下面是html。
<div class="list-items tab-pane fade active show" ng-class="type=='pay'?'show active':''" tabindex="1" id="pay-bills">
<div ng-repeat="item in BillList.Result.categorizedBillNickBene" class="ng-scope">
<h2 class="head ng-binding" ng-show="filtered.length!=0">Electricity Bill Payment</h2>
</div>
<div ng-repeat="item in BillList.Result.categorizedBillNickBene" class="ng-scope">
<h2 class="head ng-binding" ng-show="filtered.length!=0">Gas Bill Payment</h2>
</div>
</div>
我想获得第二个 h2 值,即“Gas Bill Payment”。我把 xpath 写成
//div[@id='pay-bills']//div//h2[@class='head ng-binding'][2]
问题是我无法使用“[2]”获得第二个值。尽管当我插入“[1]”时,我得到了两个值。
解决方案
为什么这不起作用:
//div[@id='pay-bills']//div//h2[@class='head ng-binding'][2]
您正在寻找h2
一个位置等于 2 的h2
元素。样本数据中的所有元素都位于第一个 (1) 位置。
您可以使用@chrisis 提出的解决方案,也可以使用:
(//div[@id='pay-bills']/div/h2)[2]/text()
用于()
指定您希望用 . 括起来的 XPath 的第二个显示结果()
。
一定//
要从你的表达式中删除不必要的(应该是/
从第二个开始div
并且h2
是子元素)。
推荐阅读
- java - Java - 比较两个字符串 - unicode/ascii 敏感
- python - Discord.py 中的错误?
- vue.js - 运行时如何纠正这种类型的警告(npm t)node_modules/@vue/test-utils/dist/vue-test-utils.js:1704 Vue.js中的这个错误?
- r - R 闪亮 - 动画随机数到 ValueBox
- autohotkey - 如何解决 ControlSetText 和“保存文件”对话框之间的这个奇怪问题
- python - 如果用户通过 SSH 连接到不存在的用户,如何运行脚本?
- angular - ERROR 错误:找不到带有路径的控件:Angular FormArray
- powershell - 有没有办法使用 PowerShell 从半结构化文本文件创建对象?
- javascript - 如何为网站设置 S3 存储桶,用户可以在其中上传和下载特定文件夹中的文件
- javascript - 当我单击选择选项上的任何项目时如何隐藏 div?