javascript - Javascript,XPath,根据搜索文本选择下一个文本
问题描述
我需要通过文本包含(内部文本)使用 XPath 搜索节点
<div class="row"> // 1-0-4
<div class="col-xs-4">
<label for="FactoryLeadTime">Factory Lead Time:</label>
</div>
<div class="col-xs-8">
4 Weeks
</div>
</div>
我的 JS 代码
var xpath = 'label[text()[normalize-space(.)="Factory Lead Time:"]]';
//var xpath = "//label[a[contains(., 'Factory Lead Time:')]]/text()";
var res = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null);
console.log(res);
我不确定搜索是否成功,因为控制台显示
XPathResultinvalidIteratorState: falseresultType: 4__proto__: XPathResultPrototype { iterateNext: iterateNext(), snapshotItem: snapshotItem(), ANY_TYPE: 0, … } tmp.js:252:1
事实上,我试图根据之前的文本“工厂交货时间:”获得“4周”的结果
有没有一种聪明的方法可以用 XPath 做到这一点?
提前致谢
解决方案
试试下面的 XPath 以获得所需的 poutput:
//div[label="Factory Lead Time:"]/following-sibling::div/text()
推荐阅读
- image - 如何为图像超分辨率创建数据集
- ms-access - 在 MS Access 中扫描以在表单上输入数据,而无需按任何键
- excel - 如何引用在 VBA 中更改名称的工作表?
- javascript - d3 v6。如何在地图上绘制边界框(正确投影的矩形)
- java - 片段 TextView 未更改回语言环境
- c++ - __interceptor_popen 中的未初始化字节
- elasticsearch - ElasticSearch Screen Xpath 识别动态按钮
- python - 如何在 OpenCV-Python 库中找到属于某个簇的图像像素的概率?
- c++ - 使用 N 个线程或 N-1 个线程
- web - 我有一个 Google Cloud Storage 存储桶,我想将它托管为静态网站