我已经成功地使用2captcha API实现了验证码解析,直到我将答案输入隐藏答案文本框为止。
这就是开始的地方。 “继续”按钮被禁用,但是即使我删除了代码中的“已禁用”标签,它也不会执行应该执行的“登录”操作。
<button disabled="" class="tw-interactive tw-button tw-button--disabled tw-button--full-width">
<span class="tw-button__text" data-a-target="tw-button text">
Continue
</span>
</button>
^这是禁用按钮时的html代码[验证码未解决]
<button class="tw-interactive tw-button tw-button--full-width">
<span class="tw-button__text" data-a-target="tw-button-text">
Continue
</span>
</button>
^这是一个可用的“继续”按钮,当您手动执行验证码时可以使用。
当我将代码从HTML的第一位更改为第二位时,它启用了按钮,但是没有执行我之前所说的任何操作 诸如element.submit()之类的功能也不起作用
我在任何地方都找不到有关它的信息,但我知道它可以处理。我说的网站是Twitch.tv
这部分代码将验证码答案输入到答案文本框中
elem=driver.find_element_by_xpath('//*[@id="g-recaptcha-response"]')
driver.execute_script('arguments[0].setAttribute("style", "width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none; ");', elem)
print("answer: "+answer )
elem.send_keys(answer)
================编辑=================
xlogin = '/html/body/div[2]/div/div/div/div[1]/form/div/div[3]/button'
recaptcha = '//*[@id="recaptcha-element-container"]/div/div/iframe'
answer=''
site_key =''
API_KEY = '#################'
stream = "ninja"
dest = "https://www.twitch.tv/" + stream
def getSiteKey(): #Gets the SITE_KEY and sets the variable
global recaptcha,site_key
element = driver.find_element(By.XPATH,recaptcha)
d = element.get_attribute("src")
trash,rest = d.split("&k=")
site_key,trash = rest.split("&co")
return print("Returned site key: "+site_key)
def handleCaptcha():
global API_KEY, site_key,dest,answer
s = requests.Session()
captcha_id = s.post("http://2captcha.com/in.php?key="+API_KEY+"&method=userrecaptcha&googlekey="+site_key+"&pageurl="+dest).text.split('|')[1]
print ("Request returned captcha ID:"+captcha_id)
recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
while 'CAPCHA_NOT_READY' in recaptcha_answer:
print (recaptcha_answer)#debug
time.sleep(5)
recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
recaptcha_answer = recaptcha_answer.split('|')[1]
print("Recaptcha answer is: "+recaptcha_answer)
answer=recaptcha_answer
https://i.imgur.com/kN16sjn.png这是我得到的输出
我试图在浏览器调试中手动编辑按钮代码,但无法正常工作。我已经从按钮本身以及class-> tw-button--disabled
中删除了禁用的attrib