String html = Jsoup.connect(url).timeout(1000*1000).get().html();
Document doc = Jsoup.parse(html);
Elements H2 = doc.select("div h2");
for (Element e: H2) {
//get absolute path of element e
}
似乎没有办法只使用Jsoup。如果没有,任何其他java包帮助实现它?
答案 0 :(得分:2)
Jsoup仍然不支持直接从元素获取Xpath。
答案 1 :(得分:1)
答案 2 :(得分:0)
答案 3 :(得分:0)
没有元素的“绝对路径”这样的东西。有许多不同的路径可以选择一个元素。人们有时会要求的这种路径的例子是:
/a/b/c/d
/a[1]/b[2]/c[3]/d[4]
/*[1]/*[2]/*[3]/*[4]
前两种情况的问题是如果涉及名称空间它们不起作用。第三条路径解决了这个问题,但路径并不像人们有时喜欢的那样信息丰富。如果您想要一个信息丰富且独立于命名空间上下文的路径,那么您需要使用*[local-name()='a' and namespace-uri()='......']
形式的谓词的东西。
命名空间的困难意味着您找不到许多返回元素路径的库例程。