如何使用Nightmare.js通过链接保存机器中的PDF文件内容

时间:2018-04-16 07:26:34

标签: javascript node.js web-scraping phantomjs nightmare

我正在使用NightmareJs从亚马逊链接获取pdf内容。 因为我的链接是安全的,所以它要求用户名和密码进行身份验证。

链接1:

  

https://central.amazon.in/fp/reports/lab/17627.pdf?ie=UTF8&&requestID=12297766517607

所以我只想写下面的代码: -

 var nightmare = Nightmare({ show: true })
        nightmare.goto(link1)
            .type('[name=email]', 'test@gmail.com')
            .type('[name=password]', 'test@0')
            .click('#signInSubmit')
            .wait(10000)
            .evaluate(function() {
               var script = document.createElement("script");
               script.innerHTML = "window.print = function(){__nightmare.ipc.send('log', 'print called');}";
               document.head.appendChild(script);
               return location.href
           })
         .then(function(result) {
              console.log(result)
           })

所以你可以看到我只是简单地去链接并尝试获取链接内容,但在then函数结果中它返回整个html而不是pdf。

它还提供了用于保存PDF文件的PDF保存提示,但我只是不希望该提示我想在我的机器中自动将该文件保存到给定位置。

我已经使用

从其他链接中完成了其他一些PDF内容
  

.pdf噩梦的方法

例如,URL是: -

Link2:

  

https://central.amazon.in/gp/orders-v2/slip/ref=ag_cont_myo?ie=UTF8&orderID=422-27389-387176;

但是在 link2 中,因为他们没有给我提示保存文件,他们在浏览器中打开文件,而噩梦的.pdf只捕获并保存在文件中。

但是在我的第一个网址( Link1 )中,它要求保存文件而不是通过浏览器直接保存文件。

我想要: -

1)它将通过浏览器打开Link1的文件,就像它为Link2打开一样。

2)我将获取PDF格式的内容,以便我可以通过 fs 模块或其他模块保存它们

3)它不会询问我提示保存文件的位置。它只是将文件保存在我给它的位置。

所以请告诉我如何通过使用Nightmare或其他一些机制来获取同一文件的内容。

非常感谢任何帮助。

由于

0 个答案:

没有答案