Обход капчи в Selenium

Обход reCAPTCHA, Arkose, Cloudflare Turnstile и других капч в Selenium с помощью сервиса 2Captcha.

Никакого риска. Оплата только за решенные капчи.

Быстрый старт
Обход капчи с Selenium в действии

Краткое руководство: Как начать использовать API для решения капчи в Selenium

  • Регистрация на сервисе обхода капч
  • Пополнение баланса, получение API ключа
  • Поиск параметра site key на целевой странице
  • Отправка капчи для решения
  • Получение ответа от API для обхода капчи
  • Отправка формы
Как использовать сервис 2Captcha с инструментом Selenium
Обход reCAPTCHA с помощью Selenium

Решение капчи в Selenium

Сервис 2Captcha предназначен для автоматического распознавания капч и их обхода.

Процесс обхода заключается в следующем: используя API заказчик передает набор необходимых параметров со страницы размещения капчи в сервис, где её решает работник. После, заказчик запрашивает набор параметров, которые необходимо передать в соответствующие поля для решения капчи на целевой странице.

Работа сервиса полностью автоматизирована.

API сервиса можно использовать для работы с Puppeteer, Selenium, Playwright.

Автоматизация обхода капчи в Selenium

Selenium логотип

Selenium автоматизирует работу браузеров. Обычно инструмент применяется для автоматизации процессов тестирования и парсинга. Скрытие факта автоматизации важно при разработке парсеров, так как позволяет браузеру лучше имитировать поведение пользователя, скрывая факт автоматизации процессов от сайтов. Факт автоматизации можно скрыть используя специальные плагины. Обходить капчи в Selenium можно используя специальный сервис.

Обход капчи с помощью Selenium

Для обхода капчи в Selenium нужно использовать сервис распознавания.

При работе с API сервиса можно использовать любые языки программирования, например: Java, C#, C++, PHP, Python, и Ruby. Подробнее об автоматическом обходе капчи в Selenium читайте в инструкции.

Инструкция: Как автоматически решить и обойти reCAPTCHA в Selenium

Далее пошагово описан процесс решения reCAPTCHA на странице https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php:

  • Установка требуемых компонентов
  • Поиск специального параметра site key на целевой странице
  • Отправка reCAPTCHA для решения
  • Получение ответа от API для обхода капчи

Установка компонентов

Начать нужно с установки следующих компонентов:

  • 2Captcha: официальный Python SDK для интеграции с API 2Captcha
  • Selenium: Selenium — это библиотека автоматизации браузера
  • webdriver-manager: эта библиотека упрощает загрузку и использование драйверов для Selenium.

Следующая команда позволит установить указанные библиотеки:

python -m pip install 2captcha-python selenium webdriver-manager

Далее на целевой странице нужно найти параметр site key и написать код скрипта для автоматического решения капчи на странице.

Поиск параметра site key

site key — это уникальный идентификатор, который Google присваивает всем формам с reCAPTCHA, и который однозначно идентифицирует капчу. Для автоматического решения капчи нужно отправить site key в сервис решения.

Чтобы найти параметр site key на странице, нужно выполнить следующие действия:

  • Откройте https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php
  • Откройте инструменты разработки, нажав Ctrl/Cmd + Shift + I.
  • Найдите data-sitekey и скопируйте значение параметра.
  • Сохраните значение, чтобы использовать его при отправке запроса для решения капчи на странице

Решение капчи

Далее нужен код Selenium, задачей которого является открытие целевой страницы и автоматическое решение капчи с помощью API.

Не забудьте изменить значение параметра 2CAPTCHA_API_KEY на реальный ключ API и SITE_KEY на соответствующий site key, сохраненный ранее.

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
driver.get(captcha_page_url)

# решение капчи

print("solving captcha")
solver = TwoCaptcha("2CAPTCHA_API_KEY")
response = solver.recaptcha(sitekey='SITE_KEY', url=captcha_page_url)
code = response['code']
print(f"Successfully solved the Captcha. The solve code is {code}")

В коде инициализирован объект TwoCaptcha с ключом API и решение reCAPTCHA посредством вызова метода recaptcha. Для решения передано значение site key и URL адрес страницы.

Обратите внимание, что процесс решения капчи может занять некоторое время. Скорость решения приведена на странице reCAPTCHA bypass.

Отправка решенной капчи

Далее находим элемент g-recaptcha-response, вставляем полученное значение для решения капчи и отправляем форму.

recaptcha_response_element = driver.find_element(By.ID, 'g-recaptcha-response')
driver.execute_script(f'arguments[0].value = "{code}";', recaptcha_response_element)

submit_btn = driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]')
submit_btn.click()

input("Press enter to continue")
driver.close()

Итоговый код автоматического решения reCAPTCHA

Ниже приведен готовый полный код по автоматическому обходу капчи с использованием API.

from selenium.webdriver.common.by import By
from twocaptcha import TwoCaptcha
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver

# Instantiate the WebDriver
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

# Load the target page
captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
driver.get(captcha_page_url)

# Solve the Captcha
print("Solving Captcha")
solver = TwoCaptcha("2CAPTCHA_API_KEY")
response = solver.recaptcha(sitekey='SITE_KEY', url=captcha_page_url)
code = response['code']
print(f"Successfully solved the Captcha. The solve code is {code}")

# Set the solved Captcha
recaptcha_response_element = driver.find_element(By.ID, 'g-recaptcha-response')
driver.execute_script(f'arguments[0].value = "{code}";', recaptcha_response_element)

# Submit the form
submit_btn = driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]')
submit_btn.click()

# Pause the execution so you can see the screen after submission before closing the driver
input("Press enter to continue")
driver.close()

При использовании данного кода обязательно замените значения параметров2CAPTCHA_API_KEY, SITE_KEY.

reCAPTCHA логотип

Обход Google reCAPTCHA

reCAPTCHA блокирует автоматизированное тестирование и парсинг страниц, не позволяя роботам выполнять задачи. 2Captcha — лучший сервис автоматического распознавания reCAPTCHA. Сервис позволяет обойти любой тип Google reCAPTCHA, включая версии reCAPTCHA 3 и reCAPTCHA 2.

Подробная инструкция и примеры кода по обходу reCAPTCHA в Selenium размещены на странице в блоге.

Обход Google reCAPTCHA в Selenium
Python логотип

Обход капчи на Python

Интегрируйте официальный Python SDK для автоматического решения капчи на любом сайте. Набор средств позволяет провести интеграцию с API для обхода reCAPTCHA, Arkose captcha и решения любых других капч. API можно использовать вместе с Selenium.

Обход капчи на Python
C# логотип

Обход капчи на C#

Интегрируйте библиотеку C# для автоматического решения капчи. API можно интегрировать в любой скрипт для обхода reCAPTCHA, Arkose captcha и решения любых других капч. API можно использовать вместе с Selenium.

Обход капчи на С#.

Лучший анти капча сервис для Selenium

Selenium — это инструмент для тестирования и парсинга. Для разгадывания капчи в Selenium можно использовать сервис 2Captcha. Сервис 2Captcha посредством быстрого и простого API позволяет автоматически обходить популярные виды капч. Автоматизируйте задачи по распознаванию используя API. Работа по распознаванию выполняется реальными работниками.

По аналитическим данным CaptchaTheCat, 2Captcha — лучший сервис в нише автоматического распознавания.

captchathecat
Использование 2Captcha с Selenium для обхода капчи