#
Extension Quickstart
#
Loading the NopeCHA extension in a browser.
Pros
No coding required.
Fast and cheap.
Works on all sites.
Impossible to detect.
Cons
Proxies may be needed.
Browser required (e.g. Selenium, Puppeteer, Playwright).
To solve CAPTCHAs, the NopeCHA browser extension uses the Recognition API to find locations to click or characters to type.
#
Official NopeCHA browser extensions
#
Python example
import requests
from selenium import webdriver
NOPECHA_KEY = 'YOUR_KEY_HERE' # Replace with your key.
options = webdriver.chrome.options.Options()
options.add_argument('--no-sandbox')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)
# Download the latest NopeCHA crx extension file.
# You can also supply a path to a directory with unpacked extension files.
with open('ext.crx', 'wb') as f:
f.write(requests.get('https://nopecha.com/f/ext.crx').content)
options.add_extension('ext.crx')
# Start the driver.
driver = webdriver.Chrome(options=options)
# Set the subscription key for the extension by visiting this URL.
# You can programmatically import all extension settings using this method.
# To learn more, go to "Export Settings" in the extension popup.
driver.get(f"https://nopecha.com/setup#{NOPECHA_KEY}")
# Go to any page with a CAPTCHA and the extension will automatically solve it.
driver.get('https://nopecha.com/demo/hcaptcha')
import requests
import zipfile
import undetected_chromedriver.v2 as uc
NOPECHA_KEY = 'YOUR_KEY_HERE' # Replace with your key.
options = uc.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--no-first-run --no-service-autorun --password-store=basic')
# Download the latest unpacked NopeCHA extension.
# Undetected chromedriver does not support loading from a crx file.
with open('chrome.zip', 'wb') as f:
f.write(requests.get('https://nopecha.com/f/chrome.zip').content)
with zipfile.ZipFile('chrome.zip', 'r') as zip_ref:
zip_ref.extractall('nopecha')
options.add_argument(f"--load-extension={os.getcwd()}/nopecha")
# Start the driver.
driver = uc.Chrome(options=options)
# Set the subscription key for the extension by visiting this URL.
# You can programmatically import all extension settings using this method.
# To learn more, go to "Export Settings" in the extension popup.
driver.get(f"https://nopecha.com/setup#{NOPECHA_KEY}")
# Go to any page with a CAPTCHA and the extension will automatically solve it.
driver.get('https://nopecha.com/demo/hcaptcha')