【发布时间】:2020-05-12 12:14:37
【问题描述】:
我一直在努力解决使用 selenium、java、2captcha 的 api 的验证码。
点击验证按钮但不解决图片,没有错误弹出..
这是我的代码:
private void solveCaptcha(String apiKey) {
String googleKey = "6Lcsv3oUAAAAAGFhlKrkRb029OHio098bbeyi_Hv";
String pageUrl = "https://secure.runescape.com/m=weblogin/loginform?theme=oldschool&mod=www";
TwoCaptchaService service = new TwoCaptchaService(apiKey, googleKey, pageUrl);
try {
String responseToken = service.solveCaptcha();
By frame = By.xpath("//iframe[@title='recaptcha challenge']");
WebElement frameElement = driver.findElement(frame);
driver.switchTo().frame(frameElement);
System.out.println("Solved and Generated Response Token: " + responseToken);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('recaptcha-token').innerHTML = '" + responseToken + "';");
Thread.sleep(500);
js.executeScript("document.getElementById('recaptcha-verify-button').click();");
} catch (InterruptedException e) {
System.out.println("ERROR case 1");
e.printStackTrace();
} catch (IOException e) {
System.out.println("ERROR case 2");
e.printStackTrace();
}
}
非常感谢您的帮助
【问题讨论】:
-
我知道这对你一点帮助都没有,但老实说......如果你找到一种方法在 UI 测试中自动传递验证码,那么验证码 - 根据定义 - 毫无价值。
-
2captcha 不是机器人自动化,而是真人为您解决难题
-
人类是否找到答案并不重要......如果他们将您检测为机器人,验证码将无法在该浏览器会话中解决。有些只会让你无休止地解决难题,但你永远不会通过。
-
我已经看到人们这样做了.. 在这个网站上,但问题是我仍然无法让它工作,我真的很绝望
标签: java selenium recaptcha captcha 2captcha