gpt4 book ai didi

java - 用于访问特定选项卡内容(如果存在)的通用 xpath

转载 作者:行者123 更新时间:2023-12-01 11:15:12 25 4
gpt4 key购买 nike

下面是两个网页,其中有“功能、应用和优点”等选项卡,我想在这里 仅提取“功能”选项卡的内容。第一个选项卡中包含“功能”的一个网页,并且 其他网页有“优点”而不是“功能”选项卡。

http://www.eaton.com/Eaton/ProductsServices/Hydraulics/Accumulators/PCT_256248 http://www.eaton.com/Eaton/ProductsServices/Vehicle/Superchargers/RSeries/index.htm#tabs-2

尝试过的方法:通过使用“下面的代码”和 xpath("//a[span='Features']/../../../div/div") 我能够 获取网页中存在的所有选项卡的内容。但是,我的问题是我正在寻找 对于通用“xpath”,应该只获取网页中“功能”的内容,并且应该 如果“功能”选项卡不存在,则不显示任何内容。

 HtmlCleaner htmCleaner = new HtmlCleaner();
String s = "http://www.eaton.com/Eaton/ProductsServices/Hydraulics/Accumulators/PCT_256248";
Document doc = Jsoup.connect(s).timeout(30000).userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2").get();
String pageContent=doc.toString();
TagNode node = htmCleaner.clean(pageContent);
Object[] statsNode = node.evaluateXPath("//a[span='Features']/../../../div/div");
for(int i=0;i<statsNode.length;i++){
TagNode resultNode = (TagNode) statsNode[i];
System.out.print(resultNode.getText());
}

最佳答案

请注意,目标 div id对应于href选项卡标题的属性。例如,当 href属性值为"#tabs-1" ,对应div id属性值为"tabs-1" .

利用这种相关性,这是一个可能返回 <div> 的 XPath。对应于 Features 的元素链接/选项卡或在缺少 Features 的情况下不返回任何内容标签:

//div[concat('#', @id)=preceding::a[span='Features']/@href]

关于java - 用于访问特定选项卡内容(如果存在)的通用 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31914868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com