如何从Python requests.get调用Javascript函数

如何从Python requests.get调用Javascript函数,javascript,python,python-requests,Javascript,Python,Python Requests,我试图使用Python请求库调用javascript函数,这样我就可以重定向到另一个URL,其中包含一个PDF文件,然后我将下载 步骤如下: 从会话获取(url) 调用嵌入在当前网页中的javascript函数 将二进制内容下载到PDF文件中 是否可以仅使用请求库执行此操作 到目前为止我所拥有的-这引发了一个异常: 引发异常: 不,请求只发出HTTP请求,它不知道如何解释网页。尝试改用Selenium。@Supersormer,实际上我是在尝试替换Selenium。更好的解决方案是查看js函数并

我试图使用Python请求库调用javascript函数,这样我就可以重定向到另一个URL,其中包含一个PDF文件,然后我将下载

步骤如下:

  • 从会话获取(url)
  • 调用嵌入在当前网页中的javascript函数
  • 将二进制内容下载到PDF文件中 是否可以仅使用请求库执行此操作

    到目前为止我所拥有的-这引发了一个异常: 引发异常:
    不,请求只发出HTTP请求,它不知道如何解释网页。尝试改用Selenium。@Supersormer,实际上我是在尝试替换Selenium。更好的解决方案是查看js函数并了解它的功能。使用python也可以这样做,它可能会向某个url发送post请求,只需使用brwoser检查网页,查看页面正在发送什么请求,并使用请求构造类似的请求。
    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")'