-
-
Save alperensert/ea02f8ec6129bc2289a8ad12d9a76e55 to your computer and use it in GitHub Desktop.
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) |
Finally I figured it out by using executable_path = "geckodriver.exe". But I got blank page.
Hello, I getting this error:
capmonster_python.utils.CapmonsterException: [ERROR_KEY_DOES_NOT_EXIST] Account authorization key not found in the system or has incorrect format
Is the arg website_url the website itself or google recaptcha url?
<iframe title="reCAPTCHA" src="https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LcU2hgUAAAAAPHmrOrfTDy6DnROjq7Mr8LNwhNF&co=aHR0cHM6Ly9wb2NrZXRvcHRpb24uY29tOjQ0Mw..&hl=pt&type=image&v=5qcenVbrhOy8zihcc2aHOWD4&theme=light&size=normal&cb=a5bmkkozyfou" width="304" height="78" role="presentation" name="a-fxy4vff1wo4t" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox"></iframe>Hello @vinifr,
The ERROR_KEY_DOES_NOT_EXIST is means you doesn't have a valid api-key. Did you registered the capmonster.cloud?
And the website_url arg must be https://pocketoption.com/en/login/ in your case. Website URL means where is located the captcha.
ok. Do I have to click in recaptcha checkbox in order to solve it?
driver.find_element(By.CSS_SELECTOR,"iframe[title='reCAPTCHA']").click()
No you don't.
Just import your token to g-recaptcha-response
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 ?
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
thank you. I got this error:
WebDriverException: Message: Service selenium/chromedriver.exe unexpectedly exited. Status code was: 1