HTMLUnit: ReferenceError: «$» не определено - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь войти на сайт, используя AjaxForm.Мне удалось повторить формы и достичь xpath нужной кнопки, хотя, когда я вызываю #click, я получаю эту ошибку:

EcmaError: lineNumber=[193] column=[0] lineSource=[<no source>] name=[ReferenceError] sourceName=[script in https://test.paypo.com/Account/Login?ReturnUrl=%2FHome%2FStart from (177, 32) to (221, 10)]
 message=[ReferenceError: "Paypo" is not defined.
 (script in https://test.paypo.com/Account/Login?ReturnUrl=%2FHome%2FStart from (177, 32) to (221, 10)#193)] 
com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "Paypo" is not defined. (script in https://test.paypo.com/Account/Login?ReturnUrl=%2FHome%2FStart from (177, 32) to (221, 10)#193)

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

Текущий код:

                final HtmlPage thePage = ((HtmlPage) page);
                final HtmlButtonInput button = (HtmlButtonInput) thePage.getByXPath("//input[@type='button']").get(0);
                webClient.getOptions().setThrowExceptionOnScriptError(true);
                final HtmlPage newPage = button.click();

Ошибка возникает при вызове #click!

Любая подсказка?Пожалуйста!

1 Ответ

0 голосов
/ 25 ноября 2018

Хорошо, сделали короткую проверку с этим кодом:

final String url = "https://test.paypo.com/Account/Login?ReturnUrl=%2FHome%2FStart";
try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_60)) {
    HtmlPage page = webClient.getPage(url);
}

Запуск этого приводит к множеству ошибок; первый

com.gargoylesoftware.htmlunit.ScriptException: identifier is a reserved word: class (https://test.paypo.com/bundles/SharedJS?v=qrYYsvxJCv4nRnx8xzi1sMLBQPQlIPteJjoj8eCO1go1#7)

Что это значит?

  1. На странице содержится некоторый js-код из URL https://test.paypo.com/bundles/SharedJS?v=qrYYsvxJCv4nRnx8xzi1sMLBQPQlIPteJjoj8eCO1go1, и существует проблема с этим кодом. Подробно код использует функцию языка javascript 'class', а HtmlUnit (в конце Rhino) не поддерживает этот синтаксис в текущей версии

  2. Из-за этого javascript из этого внешнего ресурса не является «компилируемым» и поэтому недоступен для другого javascript на этой странице

  3. И, наконец, это приводит к ошибке, с которой вы сталкиваетесь.

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