【问题标题】:Java Selenium 2CaptchaJava Selenium 2Captcha
【发布时间】:2019-09-16 08:06:20
【问题描述】:

我正在尝试使用 Selenium 和 java 在 ( here ) 上自动执行一些过程。当我按下登录按钮时,它会显示一个验证码来选择像[this] 这样的图像。

我正在阅读有关 2captcha 来解决此问题的信息,他们要求提供站点密钥,任何人都可以帮助我获取站点密钥 this site`?

或者对于这个问题有更好的解决方案吗?

这是我启动 recaptcha 的 java 代码:

     System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
     ChromeDriver driver;
     driver = new ChromeDriver();
     driver.manage().deleteAllCookies();
     driver.manage().window().maximize();
     driver.get("https://id.sonyentertainmentnetwork.com/signin/?client_id=fe1fdbfa-f1a1-47ac-b793-e648fba25e86&redirect_uri=https://secure.eu.playstation.com/psnauth/PSNOAUTHResponse/pdc/&service_entity=urn:service-entity:psn&response_type=code&scope=psn:s2s&ui=pr&service_logo=ps&request_locale=en_GB&error=login_required&error_code=4165&error_description=User+is+not+authenticated&no_captcha=false#/signin?entry=%2Fsignin");
     Thread.sleep(2000);
     driver.findElement(By.xpath("//input[@title='Sign-In ID (Email Address)']")).sendKeys("vyhylyw@dropjar.com");
     Thread.sleep(2000);
     driver.findElement(By.xpath("//input[@title='Password']")).sendKeys("131313aa");
     Thread.sleep(2000);
     driver.findElement(By.xpath("//button[@class='primary-button row-button text-button touch-feedback']")).click();

【问题讨论】:

  • 您的意思是验证码的密钥吗?

标签: java selenium 2captcha


【解决方案1】:

对于验证码问题,您需要使用任何 API 来解决。

如果已经有一个并且正在寻找验证码的站点密钥:

By captcha = By.xpath("//iframe[@title='recaptcha challenge']");
String src = driver.findElement(captcha).getAttribute("src");
String key = getKey(src);

public String getKey(String src){
    String x = src;
    String y = x.substring(x.indexOf("&k=")+3);
    String key = y.substring(0, StringUtils.ordinalIndexOf(y,"&",1));
    return key;
}

如您所见,我可以通过 xpath 选择器找到它,只需转到开发人员控制台并检查它。我不知道为什么它不适合你。

也尝试使用 xpath: "//iframe" 获取它

【讨论】:

  • 谢谢你的回复,我试过你的代码,但找不到:Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//iframe[@title='recap
  • 能否请您复习一下:[问题] (stackoverflow.com/q/57980022/9672917)
猜你喜欢
  • 2020-01-18
  • 2020-02-03
  • 2021-04-10
  • 2020-05-12
  • 2021-10-22
  • 2020-11-24
  • 2020-09-19
  • 1970-01-01
  • 2021-02-04
相关资源
最近更新 更多