Уведомление об использовании файлов cookie

Этот сайт использует cookie. Файлы cookie запоминают вас, поэтому мы можем предоставить вам персонализированные услуги. Подробнее.

Looking for international version of our service? Go to 2captcha.com

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

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

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

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

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

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

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

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

Процесс обхода заключается в следующем: используя 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 блокирует автоматизированное тестирование и парсинг страниц, не позволяя роботам выполнять задачи. ruCaptcha — лучший сервис автоматического распознавания reCAPTCHA. Сервис позволяет обойти любой тип Google reCAPTCHA, включая версии reCAPTCHA 3 и reCAPTCHA 2.

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

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

Обход hCaptcha

hCaptcha мешает выполнению автоматизированных скриптов. ruCaptcha — сервис, который позволяет автоматически обходить hCaptcha и не только. Подробная информация, примеры коды размещены на странице обход hCaptcha.

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

Обход hCaptcha
Python логотип

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

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

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

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

Интегрируйте Ruby gem для обхода капчи. API можно использовать вместе с Selenium.

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

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

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

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

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