0

Java - 我的目标是获取完整的网页源(html)填写表格并提交。

如今,网页阅读起来非常复杂,因为它们不会在一个页面请求调用中加载,它们在页面加载时执行脚本以从服务器获取数据并注入页面本身。

这就是我遇到问题的地方,我正在尝试使用多个 ajax 调用以在其中加载表单,我必须填写表单并务实地提交它以获得结果。

我尝试了“selenium”并使用 HtmlUnitDriver 在后台执行所有操作,但 selenium 在启用 js 后执行 Javascript 失败。

我想在一次调用中获取所有页面,无论它是否有 ajax 调用来加载页面的不同部分。

我猜测的一个解决方案可能是,如果有任何事情,比如运行服务器并使用 url 请求获取页面,该页面还维护会话以提交表单或类似的事情。

请随时分享您的想法。

4

1 回答 1

1

我在工作中也做过类似的事情。我使用 HtmlUnit(因为它不渲染 -> 比 selenium 快)。一个小问题是等待 Ajax 加载完成。我轮询并查看页面中是否存在预期的 HTML 代码部分,这些部分是由 ajax 插入的。当我确定所有需要的部分都由 ajax 加载时,我填写表格并提交。

于 2012-12-27T15:45:56.787 回答