HtmlUnit Java обновляет страницу после нажатия на кнопку, которая выполняет JavaScript - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь использовать HtmlUnit для автоматизации входа на сайт, а именно на nike.com.Проблема, с которой я сталкиваюсь, состоит в том, что вход в систему не обрабатывается отдельной страницей, а вместо этого появляется на том же сайте, когда пользователь нажимает кнопку входа в систему на сайте.Поиск кнопки работает нормально, но я не могу получить обновленную версию веб-сайта с загруженной формой входа после нажатия кнопки входа.Код ниже никогда не сможет найти форму входа.Я пытался использовать как AjaxController, так и ожидание javascript, но безрезультатно.

Любая помощь будет принята с благодарностью.

public void nikeLogin() {
    try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
        webClient.getOptions().setThrowExceptionOnScriptError(false);
        webClient.setAjaxController(new NicelyResynchronizingAjaxController());
        HtmlPage page = webClient.getPage("https://nike.com/de/launch");
        HtmlElement button = page.getFirstByXPath("/html/body/div[2]/div/div/div[1]/div/header/div[1]/section/ul/li[1]/button");
        HtmlPage page2 = button.click();
        webClient.waitForBackgroundJavaScript(1000);
        List textFields = page2.getForms();
        if(textFields.isEmpty()) {
            System.out.println("No Forms found");
        } else {
            System.out.println("Login form found");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
...