我正在尝试从这个id中提取文本,以便在我正在尝试构建的Android应用程序中使用。
<div id="114561_435450">CSE423 - DMH - UB30301<br></div>
当我使用Jsoup Library时,我已尝试使用getElementById("114561_435450")
和div[id=114561_435450].text()
。我现在非常沮丧。请各种帮助表示赞赏。提前谢谢。
答案 0 :(得分:0)
使用纯Javascript,以下内容应该有效:
getElementById("114561_435450").innerHTML
如果您可以使用jQuery,以下内容也应该有效:
$("#114561_435450").html()
答案 1 :(得分:0)
我看到两个可能的原因,为什么你的代码可能不起作用
ID随页面的每个请求而变化。这很容易检查,只需在浏览器中再次加载URL并查看id是否已更改。不要忘记在测试之间清除缓存和cookie。 如果id确实发生了变化,你需要找到更多关于文档结构的信息才能找到正确的div。
文档的内容可能由AJAX填写,因此您无法直接访问。如果是这种情况,您可以通过查看a)通过curl加载的url或从Jsoup文档中打印出来的URL和b)页面加载时的网络流量(Chrome或Firefox中的开发人员工具)来查找。如果是这种情况,您应该找到AJAX调用的URL并获取此而不是原始URL。
您问题的另一个解决方案可能是使用Selenium Webdriver。有了这个,你实际上可以远程控制一个真正的浏览器,它应该完全能够执行填充DOM的任何JavaScript。