java - 在 JavaScript 更改 URL 后检索其内容

标签 java javascript ajax jquery

我在使用 java 检索 HTML 页面的内容时遇到问题。我在下面描述了问题。

  1. 我正在 java 中加载一个 URL,该 URL 返回 HTML 页面。

  2. 此页面使用 JavaScript。因此,当我在浏览器中加载 URL 时,页面加载后(HTML 页面的 onBodyLoad)之后会发生 JavaScript 函数调用,并且它会修改网页上的一些内容(div id 的 insideHtml 之一)。我在浏览器中显然可以看到此更改。

  3. 现在,当我尝试使用 java 执行相同的操作时,我只能获取页面的 HTML 内容,在 javascript 调用发生之前

  4. 我想要做的是,在 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/

相关文章:

java - 可以将自定义数据返回给 Kafka Producer

java - Libgdx动态改变表内的图像

javascript - 使用目标 ="_blank"提交的表单在 ajax 请求之后打开一个弹出窗口而不是新选项卡

Jquery 延迟加载与 ajax

java - 用表填充 JList

java - 在 Android 无法正常工作的情况下从 Firebase 检索数据

javascript - 如何水平使用 Masonry?

javascript - 将 Canvas 图像转换为 toDataURL() 时没有滤镜效果

javascript - 通过列表项宽度显示 block 计算 ul 的宽度

javascript - 使用 JavaScript 的 Ajax 代码