Как получить значения формы, сгенерированные JavaScript при отправке формы? - PullRequest
0 голосов
/ 09 февраля 2019

Я делаю Java-приложение для подключения к URL, но не могу получить значения формы, сгенерированной javascript при отправке формы.

 < input type="hidden" id="hpts" name="hpts" />

 < input type="hidden" id="hptsh" name="hptsh" />


< script type="text/javascript">
    var handler = function() {
      document.getElementById("hpts").value = "1549723003534";
      document.getElementById("hptsh").value = "fCJbFrAEBPgYxVhbyNhvIn4DfvY=";
    };
    var form = document.getElementById("login_form");
    if (form.addEventListener) {
      form.addEventListener("submit", handler, false);
    } else if (form.attachEvent) {
      form.attachEvent("onsubmit", handler);
    }
  < /script>

Я попробовал код ниже

        String _sourcePage = Parser.getSpecificFormValueFromFormWithID(page, "login_form", "_sourcePage");
        String __fp = Parser.getSpecificFormValueFromFormWithID(page, "login_form", "__fp");
        String hptsh = Parser.getSpecificFormValueFromFormWithClass(page, "minimal-form", "hptsh");
        String hpts = Parser.getSpecificFormValueFromFormWithID(page, "login_form", "hpts");

    public static String getSpecificFormValueFromFormWithClass(String page, String formClass, String inputFieldName) {
        Document doc = Jsoup.parse(page);
        Element form = doc.select("form." + formClass).last();
        Elements inputElements = form.getElementsByTag("input");
        for (Element inputElement : inputElements) {
            String formInputName = inputElement.attr("name");
            if (formInputName.equals(inputFieldName)) {
                return inputElement.attr("value");
            }
        }
        return null;
    }

    public static String getSpecificFormValueFromFormWithID(String page, String formId, String inputFieldName) {
        Document doc = Jsoup.parse(page);
        Element form = doc.getElementById(formId);
        Elements inputElements = form.getElementsByTag("input");
        for (Element inputElement : inputElements) {
            String formInputName = inputElement.attr("name");
            if (formInputName.equals(inputFieldName)) {
                return inputElement.attr("value");
            }
        }
        return null;
    }

Я хочу получить значения формы, чтобы можно было отправлять их на сервер с помощью пост-запроса.Я получаю все пары имя-значение формы для других входных значений, кроме этих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...