#python #json #recaptcha #captcha #bypass
Вопрос:
Я пытался понять следующий код python, который является кодом обхода капчи, но он немного устарел, поэтому он работает неправильно. У меня проблема с json methon, где статус всегда равен нулю, но я не знаю, почему. не могли бы вы, пожалуйста, помочь мне решить эту проблему для моей домашней работы?
from selenium import webdriver import requests import time from selenium.webdriver.chrome.service import Service pageurl = 'https://www.google.com/recaptcha/api2/demo' s=Service('/Users/asma1/Documents/chromedriver2') browser = webdriver.Chrome(service=s) # driver = webdriver.Chrome(executable_path=r'/Users/asma1/Documents/chromedriver2') browser.get(pageurl) site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" with open(r"api_key.txt", "r") as f: api_key = f.read() form = {"method": "userrecaptcha", "googlekey": site_key, "key": api_key, "pageurl": pageurl, "json": 1} response = requests.post('http://2captcha.com/in.php', data=form) request_id = response.json()['request'] url = f"http://2captcha.com/res.php?key={api_key}amp;action=getamp;id={request_id}amp;json=1" status = 0 while not status: res = requests.get(url) if res.json()['status']==0: time.sleep(3) else: requ = res.json()['request'] js = f'document.getElementById("g-recaptcha-response").innerHTML="{requ}";' browser.execute_script(js) browser.find_element_by_id("recaptcha-demo-submit").submit() status = 1