我正在尝试解决受Cloudfare 保护的网站上的Hcaptcha页面
要访问的网站:https://carmanuals2.com/mazda/3-hatchback-2020-owner-s-manual-114463
我遵循了Recatcha API上的说明,并能够获得假设放置在以下两个字段中的令牌:
<textarea id="g-recaptcha-response-0418tkobioj8" name="g-recaptcha-response" style="display: none;"></textarea>
<textarea id="h-captcha-response-0418tkobioj8" name="h-captcha-response" style="display: none;"></textarea>
API文件:https://2captcha.com/2captcha-api#solving_hcaptcha
下一步是将标记放置在这两个元素上。然而,我得到了一个错误selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
这是我的代码片段,我试图将我收到的代币(captcha(放在那里
sitekey = site["src"].split("=")[-1]
currenturl = driver.current_url
print (currenturl)
flag, captcha = solve_h_captcha(sitekey,currenturl)
username = driver.find_element_by_name('g-recaptcha-response')
username.send_keys(captcha)
time.sleep(2)
username = driver.find_element_by_name('h-captcha-response')
username.send_keys(captcha)
time.sleep(2)
# username.send_keys(captcha)
time.sleep(0.5)
非常感谢!!!!
您可能需要从js:中执行类似操作
driver.execute_script("""
let [captcha] = arguments
document.querySelector('[name="h-captcha-response"]').innerHTML = captcha
document.querySelector('[name="g-captcha-response"]').innerHTML = captcha
""", captcha)