Java 硒 2Captcha
Java Selenium 2Captcha
我正在尝试在 ( here ) using Selenium with java . WHenever i press on signin button , it displays a captcha to select images like [this] 上自动化一些流程。
我正在阅读有关解决此问题的 2captcha 的信息,他们要求提供 sitekey,谁能帮我获得 sitekey
this site`?
或者对于这个问题有更好的解决方案吗?
这是我的 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();
对于验证码问题,您需要使用任何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"
我正在尝试在 ( here ) using Selenium with java . WHenever i press on signin button , it displays a captcha to select images like [this] 上自动化一些流程。
我正在阅读有关解决此问题的 2captcha 的信息,他们要求提供 sitekey,谁能帮我获得 sitekey this site`?
或者对于这个问题有更好的解决方案吗?
这是我的 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();
对于验证码问题,您需要使用任何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"