无法通过HTMLUnit运行ReCaptcha

时间:2017-05-12 18:54:30

标签: java recaptcha htmlunit

所有!

出于任何原因,我在使用HTMLUnit时无法访问reCaptcha对话框。关于无法点击复选框有一个老问题,我已经解决了这个问题。但是,在我点击它之后,我收到一条警告,指出“无法联系reCAPTCHA。请检查您的连接,然后重试。”并且对话框无法正确加载。我无法想象阻止连接的原因。

以下是我的代码中用于运行javascript的部分:

HtmlPage page = client.getPage("https://my_website.xyz/login");
HtmlPage innerCaptchaPage = (HtmlPage) page.getFrames().get(0).getEnclosedPage();


HtmlElement checkbox = innerCaptchaPage.getBody().getElementsByAttribute("div", "class", "recaptcha-checkbox-checkmark").get(0);

HtmlPage clickPage = checkbox.click();
JavaScriptJobManager
        mainManager = page.getEnclosingWindow().getJobManager(),
        subManager = clickPage.getEnclosingWindow().getJobManager()
;


int count;
do {

  int mainCount, subCount;
  mainCount = mainManager.getJobCount();
  subCount = subManager.getJobCount();

  count = mainCount + subCount;

  System.out.printf("Awaiting %d javascript job(s)... (%d / %d)\n", count, mainCount, subCount);

  mainManager.waitForJobs(5_000);
  subManager.waitForJobs(5_000);

} while (count > 0);

谢谢!

0 个答案:

没有答案