【发布时间】:2020-06-02 00:00:03
【问题描述】:
我需要登录一个网站,但是,它有一个隐藏的 recaptcha 字段,我不能使用 send_keys(元素不可交互)。是否有可能使用 selenium 或 selenium 请求发出 POST 请求?
【问题讨论】:
标签: python selenium web-scraping python-requests
我需要登录一个网站,但是,它有一个隐藏的 recaptcha 字段,我不能使用 send_keys(元素不可交互)。是否有可能使用 selenium 或 selenium 请求发出 POST 请求?
【问题讨论】:
标签: python selenium web-scraping python-requests
使用 Python,您应该能够使用如下内容:
webdriver = Firefox()
response = webdriver.request('POST', 'url', data={"x": "y"})
或者,通过 JavaScript 执行 POST 请求:
jsrequest = '''var xhr = new XMLHttpRequest();
xhr.open('POST', '{{URL}}', false);
xhr.send(param1=value¶m2=value2');
return xhr.response;'''
result = driver.execute_script(jsrequest);
【讨论】:
POST 请求构造为 XMLHttpRequest,然后通过 Selenium 执行该脚本。请参阅对答案的编辑。