在htmlunit中同时保存多个页面

Saving multiple pages simultaneously in htmlunit

我目前正在使用 htmlunit 创建功能测试。

在我正在测试的网页上,有一个锚点可以在单击时在新选项卡中打开一个页面。需要单击此锚点才能显示其他复选框和按钮。

如果我想在点击锚点后保存页面,它看起来像这样:

HtmlAnchor terms = tb.getFirstByXPath("//*[@id=\"terms_link\"]");

tb = terms.click();

但是,上面的代码保存的是在新标签页中打开的网页,而不是点击锚点的网页。

我有什么方法可以保存单击锚点的页面,或者可以保存两个 html 页面吗?

因此,经过一番折腾后,我发现任何更改页面的操作都会在浏览器中注册 window,无论您是否在操作后保存它们。

为了保存单击操作后出现的弹出窗口,只需将生成的页面分配给 HtmlPage 对象。

HtmlPage page = button.click

您可以获取之前的 window 并使用以下代码保存修改后的内容。如果要保存弹出窗口和原始页面,只需将它们保存为不同的对象名称即可。

page2 =(HtmlPage)(webClient.getWebWindows().get(0).getEnclosedPage());