我正在尝试学习如何使用 python 编写程序并将 selenium 与 2captcha API 结合起来。处理另一个显然有效的主题的代码。我能够学到一点。下面是我正在学习的代码
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import requests
GChrome=webdriver.Firefox(executable_path="C:\driverswebs\geckodriver-v0.26.0-win64\geckodriver.exe")
GChrome.get('https://www.mercadobitcoin.com.br/conta/login/')
box_login = GChrome.find_element_by_name('cpfcnpj')
box_login.send_keys('my_cpf')
box_pass = GChrome.find_element_by_name('password')
box_pass.send_keys('my_pass')
box_pass.send_keys(Keys.ENTER)
# 2Captcha service
service_key = '7dccd1' # 2captcha service key
google_site_key = '6LfIxCoUAAAAAEEW7DQK_gj3pzzeJz82dTW_SMNH'
pageurl = 'https://www.mercadobitcoin.com.br/conta/login/'
url = "http://2captcha.com/in.php?key=" + service_key + "&method=userrecaptcha&googlekey=" + google_site_key + "&pageurl=" + pageurl
resp = requests.get(url)
if resp.text[0:2] != 'OK':
quit('Service error. Error code:' + resp.text)
captcha_id = resp.text[3:]
fetch_url = "http://2captcha.com/res.php?key="+ service_key + "&action=get&id=" + captcha_id
for i in range(1, 10):
time.sleep(5) # wait 5 sec.
resp = requests.get(fetch_url)
if resp.text[0:2] == 'OK':
break
GChrome.execute_script('var element=document.getElementById("g-recaptcha-response"); element.style.display="";')
GChrome.execute_script("""
document.getElementById("g-recaptcha-response").innerHTML = arguments[0]
""", resp.text[3:])
GChrome.execute_script("""
onSubmit(arguments[0])
""", resp.text[3:])
上面的代码有效,但是如果我们有带有回调函数的 onSubbmit 按钮,如果我们没有回调函数怎么办?根据2Captcha API,在没有按钮的情况下,在代码中找到___grecaptcha_cfg.clients[0] .aa.l.callback参数,参考一下。
只有在我的情况下,没有回调参数,在这种情况下如何发送接收到的令牌?下面的代码片段 ___grecaptcha_cfg.clients[0]
我将不胜感激任何帮助:)