使用Jsoup从Android应用程序的html文档中提取元素

时间:2015-08-05 17:22:15

标签: javascript android html jsoup

我正在尝试从这个id中提取文本,以便在我正在尝试构建的Android应用程序中使用。

<div id="114561_435450">CSE423 - DMH - UB30301<br></div>

当我使用Jsoup Library时,我已尝试使用getElementById("114561_435450")div[id=114561_435450].text()。我现在非常沮丧。请各种帮助表示赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:0)

使用纯Javascript,以下内容应该有效:

getElementById("114561_435450").innerHTML

如果您可以使用jQuery,以下内容也应该有效:

$("#114561_435450").html()

答案 1 :(得分:0)

我看到两个可能的原因,为什么你的代码可能不起作用

  1. ID随页面的每个请求而变化。这很容易检查,只需在浏览器中再次加载URL并查看id是否已更改。不要忘记在测试之间清除缓存和cookie。 如果id确实发生了变化,你需要找到更多关于文档结构的信息才能找到正确的div。

  2. 文档的内容可能由AJAX填写,因此您无法直接访问。如果是这种情况,您可以通过查看a)通过curl加载的url或从Jsoup文档中打印出来的URL和b)页面加载时的网络流量(Chrome或Firefox中的开发人员工具)来查找。如果是这种情况,您应该找到AJAX调用的URL并获取此而不是原始URL。

  3. 您问题的另一个解决方案可能是使用Selenium Webdriver。有了这个,你实际上可以远程控制一个真正的浏览器,它应该完全能够执行填充DOM的任何JavaScript。