Я хотел бы автоматизировать вход на Tidal.com. Я использую сервис от anti-captcha.com, поэтому форма входа защищена с помощью reCaptcha. На самом деле у меня есть код, который не работает. Проблема с повторной проверкой возникает, несмотря на то, что я вставляю антикапчу.
from python_anticaptcha import AnticaptchaClient, NoCaptchaTaskProxylessTask
API_KEY = environ['KEY']
LOGIN = input('Enter login:')
PASSWORD = input('Enter password:')
options = Options()
driver = Chrome(chrome_options=chromeOptions)
# Open Tidal login form
driver.get("https://listen.tidal.com/login")
driver.implicitly_wait(5)
# Enter email
import pdb; pdb.set_trace();
WebDriverWait(driver, 120).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@id = 'email']")
)
).send_keys(LOGIN)
# Extract site-key
site_key = re.search('"recaptchaKey":"(.+?)"', driver.page_source).group(1)
# Solve challenge with help of python-anticaptcha
url=driver.current_url
client = AnticaptchaClient(API_KEY)
task = NoCaptchaTaskProxylessTask(url, site_key)
job = client.createTask(task)
job.join()
response = job.get_solution_response()
print("Received solution", response)
# Inject solution
driver.execute_script("document.getElementById('g-recaptcha-response').innerHTML='{}';".format(response))
# Submit form with login and challenge
driver.find_element(By.XPATH, '//button[contains(@class,"btn-client-primary")]').click()
# Enter password
password=WebDriverWait(driver, 120).until(
EC.presence_of_element_located(
(By.ID, "password")
)
).send_keys(PASSWORD)
# Submit form with password
driver.find_element(By.XPATH, '//button[contains(@class,"btn-success")]').click()
# Success! User logged in!
input('Press ENTER to continue')
driver.find_element(By.XPATH, '//button[contains(@class,"btn-client-primary")]').click()
# Enter password
password=WebDriverWait(driver, 120).until(
EC.presence_of_element_located(
(By.ID, "password")
)
).send_keys(PASSWORD)
# Submit form with password
driver.find_element(By.XPATH, '//button[contains(@class,"btn-success")]').click()
# Success! User logged in!
input('Press ENTER to continue')
Может кто-нибудь дать мне подсказку, чтобы решить проблему?