Сохранение нескольких страниц одновременно в 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());
Другие вопросы по тегам