我已经知道html页面中某个元素的路径,我想要提取一些数据。有一个函数可以通过插入完整路径来执行此导航吗?
答案 0 :(得分:1)
是的,除了直接的DOM导航方法(getChildren()等)之外,还有更强大的方法 - 选择器。它是一种类似于CSS的过滤与查询字符串匹配的元素的机制。您可以将查询应用于给定节点以及整个文档。
例如:
Document doc;
String query = "body table.mainouter tr:eq(1) img[src$=.png]";
Elements tags = doc.select(query);
if (!tags.isEmpty())
{
Element tagImg = tags.first();
String srcImg = tagImg.attr("src");
}
这意味着“在类主机的TABLE里面的第一个TR中给我第一个PNG IMG元素”。请注意,查询不是唯一的地址,但如果您缩小查询范围并为查询添加足够的条件,它实际上将成为唯一路径。这样它将只返回1个元素的集合。好处是你不需要添加路径的所有元素,只需要消除结果的歧义(将结果简化为你搜索的内容)。