使用不带url的python脚本从网页下载文件,调用onClick函数 - javascript

有一个网页带有链接“单击下载”,单击该链接可以下载文件。
我可以通过转到网页并单击此链接来手动下载此文件,但是我需要通过python脚本下载此文件。

如果我看到源代码,则可以看到锚标记将运行js函数

<a class="download-data-link1" onclick=" document.forms['dataform'].submit()" style="cursor:pointer; vertical-align: middle;">Download in csv</a>

但是我不知道csv文件的URL,我正在寻找一种通过python下载的方法。

我知道,如果我们使用httplib拥有url,便可以下载文件,但无法理解如何获取没有url的文件。

尝试添加标题中的一些东西
'Content-Disposition':'attachment; filename =“ data.csv”'}

但它似乎起作用。有任何想法吗 ?

javascript大神给出的解决方案

可以在此处应用两个基本选项:

模仿onclick()调用中涉及的逻辑-在您的情况下,请使用dataformrequests提交mechanize表单
高级方法-使用PhantomJS使真正的浏览器(无头(selenium)与否)自动化-找到链接并单击它:

from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get('url here')

driver.find_element_by_class_name('download-data-link1').click()

不过,据我所知,单击链接将触发一个“下载”浏览器对话框的出现-然后PhantomJS不是一个选项,因为它不支持下载。如果是ChromeFirefox,则需要调整浏览器功能以自动下载文件而无需打开弹出窗口,请参阅:

Access to file download dialog in Firefox
Firefox + Selenium WebDriver and download a csv file automatically