如何在HtmlUnit中模拟浏览器的后退按钮?

foo*_*ter 5 javascript java browser automation htmlunit

我还没有找到一个明确而明显的建议来模仿HtmlUnit中浏览器的"后退"按钮.你做过这个吗?如果是这样,怎么样?

我想出的最好的事情是在当前页面上执行javascript:

ScriptResult result = currentPage.executeJavaScript("javascript:window.history.back();");
currentPage = (HtmlPage)result.getNewPage();
Run Code Online (Sandbox Code Playgroud)

是否有建议的方法用htmlunit返回历史记录中的一个页面?回到上面的代码会有什么影响?虽然我没有说服自己HtmlUnit实际上对不同浏览器的javascript解释进行了任何准确的模拟,但是我使用上述代码使用HtmlUnit的完整容量来模拟浏览器的后退按钮有多接近?有没有办法比这更好地模拟浏览器的后退按钮?

另外,我注意到HtmlUnit中的History类,但它似乎毫无价值.思考?

Mos*_*cho 2

可能我有点晚了,但这对其他人也可能有用。您可以通过访问 WebWindow 的历史记录来返回历史记录,如下所示:

webClient.getWebWindows().get(0).getHistory().back();
Run Code Online (Sandbox Code Playgroud)

还有其他有用的方法。您可以在此处查看 API 。