首页 > 解决方案 > 如何从 Python requests.get 调用 Javascript 函数

问题描述

我正在尝试使用 Python requests lib 调用 javascript 函数,因此可以将我重定向到另一个包含我将下载的 PDF 文件的 URL。

步骤是:

  1. requests.get(url) 来自会话;
  2. 调用嵌入在当前网页中的javascript函数;
  3. 将二进制内容下载到 PDF 文件;

是否可以仅使用请求库来做到这一点?

到目前为止我所拥有的 - 这会引发异常:

import requests
import shutil
import os

main_dir = os.path.dirname(__file__)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36'}

with requests.Session() as s:
    response = s.get(url, verify=False, stream=True, headers=headers)
    if response.status_code == 200:
        s.get('javascript:submitForm("pdf")')
        with response as content:
            with open(os.path.join(main_dir, 'nfe.pdf'), 'wb') as f:
                shutil.copyfileobj(content.raw, f)
                return True
return False

抛出异常:

requests.exceptions.InvalidSchema: No connection adapters were found for 'javascript:submitForm("pdf")'

标签: javascriptpythonpython-requests

解决方案


推荐阅读