Java Selenium 2Captcha

Я пытаюсь автоматизировать некоторый процесс (здесь), используя Selenium с java. Каждый раз, когда я нажимаю кнопку входа, отображается капча для выбора изображений, подобных [этому].

Я читал о 2captcha, чтобы решить эту проблему, они просят sitekey, может ли кто-нибудь помочь мне получить sitekey для этого сайта`?

или есть еще лучшее решение этой проблемы?

Вот мой 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();

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"

Другие вопросы по тегам