使用 Python Spynner 下载带有 JavaScript doPostBack link 的文件

Use Python Spynner to download a file with a JavaScript doPostBack link

我无法让 Python Spynner 从具有 href="javascript:__doPostBack('ProjectionBoard1$cmdCSV','')" 锚点的 ASP 网页下载文件。

Example "Export Data"

有没有简单的方法来做到这一点?我尝试通过分析 post 请求对 JavaScript 进行逆向工程,但无济于事。如果我在控制台中执行 _doPostBack 请求,我会得到:

Resource interpreted as Document but transferred with MIME type text/csv: "http://www.fangraphs.com/leaders.aspx?pos=all&stats=pit&lg=all&qual=0&type=…son=2015&month=0&season1=2015&ind=0&team=18&rost=0&age=0&filter=&players=0"

Python Spynner 会自动将与锚关联的文件下载到 href 标签(或 JavaScript 定向下载)并在单击时将其保存到工作目录。定位和点击 link 下载有两个选项:

b = spynner.Browser()
b.click("#someAnchorId", wait_load=True)

或使用 JQuery 定位 link

b = spynner.Browser()
b.runjs("jQuery('#someAnchorId').get(0).click()")
b.wait(1)