Как установить и получить значение из переменной js в HtmlUnit - PullRequest
0 голосов
/ 01 июля 2019

У меня есть html-страница с реализованным модулем reCaptcha V3 с переменным языком.

Для интеграционных тестов мне нужно проверить, на каком языке отображается утверждение «Защищено reCAPTCHA Privacy - Terms».

Коробка с этим сообщением включена в скрипт Google js.

Я пытаюсь получить его с помощью HtmlUnit, но получаю сообщение об ошибке "undefined".

WebClient webClient = MockMvcWebClientBuilder.webAppContextSetup(wac).build();
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.waitForBackgroundJavaScript(9000);

String url = "url";
String javaScriptCode = "var x = document.getElementsByClassName(\"rc-anchor-invisible-text\"); x[0].length;";

ScriptResult result = page.executeJavaScript(javaScriptCode);```

com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "length" from undefined (injected script#1)
...