用于通过ajax下载图像的casperjs和phantomjs会导致跨域问题

时间:2018-01-28 21:00:42

标签: ajax download casperjs

我正在尝试自动从网站下载图像,我正在尝试使用casperjs(1.1.4)和phantomjs(2.1.3)来执行此操作

手动执行此操作,我使用浏览器访问该站点,登录,导航到所需的图像,选择每个图像,然后单击下载按钮。然后,这会打开用于保存文件的常用对话框。

在我的代码中,我已经想出了如何在我的casperjs / phantomjs脚本中获得下载,但我无法使用casper.download()函数成功下载图像。当我将鼠标悬停在“下载”按钮上时,网址会显示以下格式:

https://www.frustrating.net/image/download?uri=https://frustrating.net/repo:/0495/4:1:8Q9MCSN3

但是传递此URL(或者甚至只是uri=之后的部分)会失败,因为casperjs说它无法处理跨域ajax请求。

在寻找答案时,我发现许多人报告的问题或多或少都与此类似,但没有一般解决方案。

显然,在casperjs的最新版本中,有一个sendAjax()函数,但我不清楚如何从一个人正在使用的网站收集该函数所需的信息,甚至是否函数是应该在这种情况下使用的函数。

如何解决此问题?为了让casperjs从这样的网站下载图像,我需要了解哪些信息?由于我正在学习javascript,我希望能够看到一些注释代码,我可以根据需要进行跟踪和修改。我可以使用Firefox的InspectElement功能获取更多信息,但我不清楚我需要哪些信息。

0 个答案:

没有答案