Сохранение нескольких страниц одновременно в htmlunit
В настоящее время я работаю над созданием функциональных тестов с использованием htmlunit.
На веб-странице, которую я тестирую, есть якорь, который при нажатии открывает страницу в новой вкладке. На этот якорь нужно нажать, чтобы открыть дополнительные флажки и кнопки.
Если бы я хотел сохранить страницу после нажатия на якорь, она бы выглядела примерно так:
HtmlAnchor terms = tb.getFirstByXPath("//*[@id=\"terms_link\"]");
tb = terms.click();
Однако приведенный выше код сохраняет веб-страницу, которая открывается в новой вкладке, в отличие от веб-страницы, на которой был щелкнут якорь.
Можно ли как-нибудь сохранить страницу, на которой был нажат якорь, или сохранить обе HTML-страницы?
1 ответ
Поэтому после небольшого возни я обнаружил, что любые действия, которые изменяют страницу, регистрируются в окне браузера независимо от того, сохраняете ли вы их после действия или нет.
Чтобы сохранить всплывающее окно, появляющееся после нажатия на действие, просто назначьте полученную страницу объекту HtmlPage.
HtmlPage page = button.click
Вы можете получить предыдущее окно и сохранить его измененное содержимое с помощью следующего кода. Если вы хотите сохранить всплывающее окно и исходную страницу, просто сохраните их под разными именами объектов.
page2 =(HtmlPage)(webClient.getWebWindows().get(0).getEnclosedPage());