Skip to main content

automates the process of solving reCAPTCHA challenges on web pages when using Selenium

Project description

automates the process of solving reCAPTCHA challenges on web pages when using Selenium

pip install solvacaptcha

Tested against Windows 10 / Python 3.10 / Anaconda

This function automates the process of solving reCAPTCHA challenges on web pages.
It uses audio-based CAPTCHA challenges as an example and employs audio recording,
transcription, and interaction with web elements to solve the challenge.
It is recommended to install: Virtual Audio Cable (VAC) - the free version is more than enough
https://vac.muzychenko.net/en/download.htm

Parameters:
	driver: WebDriver
		The Selenium WebDriver instance.
	expected_conditions: module
		The module containing expected conditions for WebDriver waits.
	WebDriverWait: class
		The class for setting up explicit waits with WebDriver.
	By: class
		The class for locating elements with WebDriver.
	ffmpegexe: str
		The path to the FFmpeg executable for audio processing.
	sleep_after_recording_started: int, optional
		Time to sleep (in seconds) after audio recording starts.
	sleep_after_each_click: int, optional
		Time to sleep (in seconds) after each interaction/click.
	captchatitle: str, optional
		The CSS selector for identifying the CAPTCHA challenge element.
	language: str, optional
		The spoken language for audio transcription.
	cpus: int, optional
		Number of CPU cores to use during audio processing.
	blas: bool, optional
		Whether to use BLAS acceleration for audio processing.
	audiodevice: int, optional
		Index of the audio device for recording.
	silent_seconds_stop: int, optional
		Duration of silence to stop audio recording (in seconds).
	silence_threshold: int, optional
		Threshold for silence detection during audio recording.
	selector: tuple of tuples, optional
		CSS selectors for identifying various CAPTCHA interaction elements.

Returns:
	None

Note:
	This function automates solving a specific type of audio-based reCAPTCHA challenge. It records audio,
	transcribes it to text, interacts with the CAPTCHA elements, and submits the solution.

Example:
	from selenium.webdriver.support import expected_conditions
	from selenium.webdriver.support.wait import WebDriverWait
	from selenium.webdriver.common.by import By
	from operagxdriver import start_opera_driver

	from solvacaptcha import solva_captcha

	driver = start_opera_driver(
		opera_browser_exe=r"C:\Program Files\Opera GX\opera.exe",
		opera_driver_exe=r"C:\ProgramData\anaconda3\envs\dfdir\operadriver.exe",
		userdir="c:\\operabrowserprofile2",
		arguments=(
			"--no-sandbox",
			"--test-type",
			"--no-default-browser-check",
			"--no-first-run",
			"--incognito",
			"--start-maximized",
		),
	)
	driver.get("https://www.google.com/recaptcha/api2/demo")

	solva_captcha(
		driver,
		expected_conditions,
		WebDriverWait,
		By,
		ffmpegexe=r"C:\ffmpeg\ffmpeg.exe",
		sleep_after_recording_started=10,
		sleep_after_each_click=10,
		captchatitle='[title="reCAPTCHA"]',
		language="en",
		cpus=5,
		blas=True,
		audiodevice=0,
		silent_seconds_stop=3,
		silence_threshold=-30,
		selector=(
			("button", "audio", "outerHTML"),
			("button", ">PLAY<", "outerHTML"),
			("input", 'id="audio-response"', "outerHTML"),
			("button", ">Verify<", "outerHTML"),
		),
	)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solvacaptcha-0.10.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

solvacaptcha-0.10-py3-none-any.whl (9.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page