Задать вопрос
@nemnogodanil

При нажатии на кнопку сайта ничего не происходит. html unit java?

У меня есть программа, она подключается к сайту, вводит в поля ввода логин и пароль, затем должна нажать на кнопку и отправить данные формы, чтобы затем сидеть на сайте под своим именем. Все работает и запускается, поля заполнены, но страница сайта не обновляется при нажатии на кнопку войти. Все поля и кнопку он находит верно. Мой код:
java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF);
            java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF);
            printLn("Connection...");
            WebClient client = new WebClient(BrowserVersion.CHROME);
            client.getOptions().setUseInsecureSSL(true);
            client.getOptions().setCssEnabled(false);
            client.getOptions().setJavaScriptEnabled(true);
            client.getOptions().setThrowExceptionOnScriptError(false);
            client.getOptions().setThrowExceptionOnFailingStatusCode(false);
            HtmlPage page = client.getPage("path");
            HtmlForm form = page.getFirstByXPath("/html/body/div[2]/div[2]/div/div/div[1]/form");
            final HtmlTextInput textField =  form.getFirstByXPath("/html/body/div[2]/div[2]/div/div/div[1]/form/div[1]/div/dl[1]/dd/input" );
            textField.setValueAttribute("login");
            final HtmlPasswordInput pwd =  form.getFirstByXPath("/html/body/div[2]/div[2]/div/div/div[1]/form/div[1]/div/dl[2]/dd/input[1]");
            pwd.removeAttribute("disabled");
            pwd.setValueAttribute("password");
            final HtmlButton btn = form.getFirstByXPath("/html/body/div[2]/div[2]/div/div/div[1]/form/div[1]/div/div[4]/div[2]/button");
            btn.click();
            client.waitForBackgroundJavaScriptStartingBefore(200);
            client.waitForBackgroundJavaScript(20000);
            printLn(page.getBody().asText());
            client.addWebWindowListener( new WebWindowListener() {
                public void webWindowOpened(WebWindowEvent webWindowEvent) { }
                public void webWindowContentChanged(WebWindowEvent event) {
                    printLn(page.getUrl().toString());
                    printLn(page.getBody().asText());
                }
                public void webWindowClosed(WebWindowEvent webWindowEvent) { }
            });
  • Вопрос задан
  • 277 просмотров
Подписаться 2 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@VictorZZZZ
А ты попробуй отправлять форму не через btn.click() а через form.submit()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы