我想用 Jsoup 查找 html 对象的 id。
<object id="gamediv" </object>
我尝试过:
String startingURL = "http://www.example.com";
try {
doc = Jsoup.connect(startingURL)
.userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
.referrer("http://www.google.com")
.timeout(1000*5) //it's in milliseconds, so this means 5 seconds.
.get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Elements get = doc.select("object");
for (Element elem : get){
if (get.attr("id") != null){
System.out.println(get.attr("id"));
}
}
但什么也没发生。请问有什么帮助吗?
最佳答案
首先,您可以将代码简化为简单。
for (Element elem : doc.select("object[id]")) {
System.out.println(elem.attr("id"));
}
其次,如果doc
不包含您正在查找的object
,则意味着它不是由服务器发送给它的。最常见的原因可能有几个
- 用户代理 header 不正确,
- 此 HTML 代码是由浏览器通过 JavaScript 生成的。
第一种情况似乎不适用于此处,因此在动态内容的情况下,您可能应该使用其他库,因为 Jsoup 只是解析器,而不是浏览器模拟器。如果您正在寻找更强大的工具,请查看像 Selenium 这样的网络驱动程序。
关于java - 如何使用 Jsoup 从 html 对象获取 id - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31592387/