我在使用 java 检索 HTML 页面的内容时遇到问题。我在下面描述了问题。
我正在 java 中加载一个 URL,该 URL 返回 HTML 页面。
此页面使用 JavaScript。因此,当我在浏览器中加载 URL 时,页面加载后(HTML 页面的 onBodyLoad)之后会发生 JavaScript 函数调用,并且它会修改网页上的一些内容(div id 的 insideHtml 之一)。我在浏览器中显然可以看到此更改。
现在,当我尝试使用 java 执行相同的操作时,我只能获取页面的 HTML 内容,在 javascript 调用发生之前。
我想要做的是,在 javascript 函数调用发生后获取 html 页面的内容,而这一切都必须使用 java 来完成。
我该怎么做?我的方法应该是什么?
最佳答案
您需要使用也将执行 JavaScript 的服务器端浏览器库,以便您可以获得 JavaScript 更新的 DOM 内容。默认浏览器机制不会执行此操作,这就是您没有获得预期结果的原因。
您应该尝试 Cobra:Java HTML 解析器,它将执行您的 JavaScript。 See here for the download以及有关如何使用它的文档。
眼镜蛇:
It is Javascript-aware. DOM modifications that occur during parsing will be reflected in the resulting DOM. However, Javascript can be disabled.
关于java - 在 JavaScript 更改 URL 后检索其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17770273/