![如何自动从给定的网页下载多个 PDF?](https://linux22.com/image/1491097/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E4%BB%8E%E7%BB%99%E5%AE%9A%E7%9A%84%E7%BD%91%E9%A1%B5%E4%B8%8B%E8%BD%BD%E5%A4%9A%E4%B8%AA%20PDF%EF%BC%9F.png)
我正在尝试从此链接. 点击阅读 PDF,它会打开一个新窗口,其中包含 PDF。单击下载按钮后,它会打开一个对话框并要求用户指定保存文件的位置。
打开相关电子书的网页后,我想自动执行以下步骤:
- 阅读 PDF被点击。窗口在新窗口中打开。
- 下载图标被单击。出现对话框并要求指定文件名和位置。
- 提供的默认名称有点乱。因此,像前言,内容等等粘贴在那里,这是在下载链接前面提到的,并且是之前复制的。
我想为很多电子书自动执行上述步骤。如果链接位于非 JavaScript 表单,使用某种下载管理器下载会很容易。
(PS:给定的网页可能没有包含所有阅读 PDF链接已激活,但它们都在我所在位置的代理后面处于活动状态。)
答案1
我为您编写了以下 JavaScript:
var ar = $('a.pdf-icon').each(函数(a) { var ar = $(this).attr('onclick').split("'"); var url =“http://ebooks.cambridge.org/open_pdf/” + ar[3] + "?pubCode=CUP&urlPrefix=cambridge&productCode=cbo"; alert("按“确定”进行下一次下载"); 窗口.打开(url); });
要执行它,请打开您在问题中链接的页面,打开 JavaScript 控制台 (CTRL+SHIFT+I),然后将上述代码粘贴到控制台中并按回车键。然后它将下载所有链接的 PDF。
请注意:
- 我在 Chrome 和 Firefox 上尝试过,都可以。
- 您可能需要禁用弹出窗口拦截器功能,否则它将不起作用
- 您可能需要禁用浏览器中的所有 PDF 插件,否则 PDF 可能会显示在插件中,而不是被下载
- 如果通过代理查看时页面的源代码不同,则可能需要修改脚本。