Last active
August 1, 2024 00:49
-
-
Save alperensert/ea02f8ec6129bc2289a8ad12d9a76e55 to your computer and use it in GitHub Desktop.
How to bypass Google reCaptcha v2 with Python Selenium and Capmonster
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from selenium import webdriver | |
from capmonster_python import RecaptchaV2Task | |
from time import sleep | |
class RecaptchaV2Selenium: | |
def __init__(self, _client_key, executable_path): | |
self.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0" | |
self.captcha = RecaptchaV2Task(_client_key) | |
self.browser = webdriver.Firefox(executable_path=executable_path) | |
self.website_url = "https://www.google.com/recaptcha/api2/demo" | |
def _get_site_key(self): | |
self.browser.get("https://www.google.com/recaptcha/api2/demo") | |
return self.browser.find_element_by_id("recaptcha-demo").get_attribute("data-sitekey") | |
def _solve_recaptcha(self): | |
self.captcha.set_user_agent(self.user_agent) | |
task_id = self.captcha.create_task(website_url=self.website_url, | |
website_key=self._get_site_key(), | |
no_cache=True) | |
return self.captcha.join_task_result(task_id=task_id, maximum_time=180).get("gRecaptchaResponse") | |
def submit_form(self): | |
self.browser.execute_script("document.getElementsByClassName('g-recaptcha-response')[0].innerHTML = " | |
f"'{self._solve_recaptcha()}';") | |
self.browser.find_element_by_id("recaptcha-demo-submit").click() | |
sleep(10) | |
self.browser.close() | |
return self.browser.find_element_by_class_name("recaptcha-success") | |
if __name__ == "__main__": | |
client_key = "client_key" | |
executable_path = "exepath" | |
recaptcha_selenium = RecaptchaV2Selenium(client_key, executable_path) |
You don't have to click recaptcha checkbox. As mentioned in name, it's recaptcha's submit button.
Hello, @alperensert
Currently I can get g-captcha-response and I can write down in text-area.
How can I submit the captcha? In my project, there is no submit button like your's.(self.chrome.find_element(By.ID, "recaptcha-checkbox-checkmark").click()
)
What is next step?
https://www.tixr.com/groups/beakandskiff/events/rainbow-kitten-surprise-60724
(click vip experience, increase amount and checkout, if you can meet recaptcha in the site)
waiting your kindly reply
Please check this question, and give me tip.
https://stackoverflow.com/questions/75858506/how-can-i-click-confirm-button-in-python-capmonster
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
One more question. "driver.find_element(By.ID, "recaptcha-demo-submit").click()"
This is the "Verify" button in recaptcha iframe or the Sign in button ?