首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有回调函数和按钮提交2Captcha和Selenium

没有回调函数和按钮提交2Captcha和Selenium
EN

Stack Overflow用户
提问于 2020-01-16 16:31:35
回答 1查看 2.2K关注 0票数 0

我正在尝试学习如何使用python编写程序,并将selenium与2captcha API相结合。在另一个主题的代码上工作,显然是可行的。我能够学到一点这个。下面是我正在学习的代码

代码语言:javascript
复制
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接口,当没有按钮时,在代码中找到___grecaptcha_cfg.clients .aa.l.callback参数并引用它。

只有在我的情况下,没有回调参数,这种情况下如何发送接收到的tokken?在代码片段___grecaptcha_cfg.clients下面

我将非常感谢您的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 20:18:33

无论如何,必须有回调函数。您需要在手动验证码解析后在浏览器中跟踪请求,然后在您的程序中执行它们。有关如何查找和执行回调函数的更多信息,可以在这里找到:https://2captcha.com/2captcha-api#callback https://captchaforum.com/threads/problem-with-invisible-recaptcha-v2-callback-function-at-mail-com-sign-up-page.56/确保您已经检查了元素的所有子分支和所有请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59765598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档