Java Htmlunit - отключить привязку - Как щелкнуть?

Я пытаюсь войти на этот веб-сайт:

https://recordings.integralnet.pl/admin-panel/login?lang=en

Ввожу логин и пароль, но не могу нажать кнопку "Отправить". Он отключен, пока оба текстовых ввода не будут пустыми. Я больше не знаю, как его включить. Йой может мне помочь?

    WebClient webClient = new WebClient(BrowserVersion.CHROME);
    try {
        webClient.getOptions().setRedirectEnabled(true);
        webClient.getOptions().setJavaScriptEnabled(true);
        webClient.setAjaxController(new NicelyResynchronizingAjaxController());

        HtmlPage page = webClient.getPage("https://recordings.integralnet.pl/admin-panel/login?lang=en");
        webClient.waitForBackgroundJavaScript(1000);
        System.out.println(page.asXml());

        DomElement loginElement = page.getElementById("textfield-1010-inputEl");
        loginElement.setAttribute("j_username", "myLogin");

        DomElement passwordElement = page.getElementById("login-form-password-inputEl");
        passwordElement.setAttribute("j_password", "myPassword");

        webClient.waitForBackgroundJavaScript(1000);

        DomElement submitElement = page.getElementById("button-1012");
        submitElement.removeAttribute("disabled");

        webClient.waitForBackgroundJavaScript(1000);
        HtmlPage clickedPage = submitElement.click();
        webClient.waitForBackgroundJavaScript(10000);

        System.out.println(clickedPage.asXml());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

person Maciej Sz    schedule 27.03.2018    source источник


Ответы (1)


Попробуйте этот код:

        WebClient webClient = new WebClient(BrowserVersion.CHROME);
    try {
        webClient.getOptions().setRedirectEnabled(true);
        webClient.getOptions().setJavaScriptEnabled(true);
        webClient.setAjaxController(new NicelyResynchronizingAjaxController());

        HtmlPage page = webClient.getPage("https://recordings.integralnet.pl/admin-panel/login?lang=en");
        webClient.waitForBackgroundJavaScript(1000);
        System.out.println(page.asXml());

        HtmlTextInput loginElement = (HtmlTextInput) page.getElementById("textfield-1010-inputEl");
        loginElement.type("myLogin");
        HtmlPasswordInput passwordElement = (HtmlPasswordInput) page.getElementById("login-form-password-inputEl");
        passwordElement.type("myPass");

        DomElement submitElement = page.getElementById("button-1012");

        HtmlPage clickedPage = submitElement.click();
        webClient.waitForBackgroundJavaScript(10000);

        System.out.println(clickedPage.asText());
    } catch (IOException e) {
        e.printStackTrace();
    }
person Zeinab Ghaffarnasab    schedule 28.03.2018