Azure和Node.js以及JSDOM计划任务 - 使用脚本打开网页

时间:2016-01-28 08:37:00

标签: javascript node.js azure jsdom

我有一个使用三十方脚本(DHTMLX计划库)的Azure网站。我希望能够呈现PDF并将其作为电子邮件发送为每周自动化任务。

我有一个C#MVC页面正在使用他们的.NET Scheduler来呈现日程安排,此时,当页面在浏览器中加载时它基本上可以完成我需要的一切。但是,我尝试将其创建为Azure中的计划任务。该页面有很多JavaScript和CSS,它们会将计划发布到他们的在线服务并创建PDF ..因为我正在使用第三方(我已经问过他们),实际上不可能提取这个功能.. PDF生成器需要样式和布局等。

我尝试使用Azure作业访问该页面,但页面上显然存在无法在其沙箱中运行的JavaScript。所以我转向Node和JSDOM。

我有一个非常基本的节点app.js在我的Azure实例上运行它运行页面(基本上我收到一封带有PDF链接的电子邮件)但是它只呈现页面的第一个元素,所以PDF几乎没有任何内容。

我在app.js中包含了代码..任何指针都会非常感激。谢谢!顺便说一下,我问this question我最好的方法是什么?我希望这是一个新问题的有效案例......?

var jsdom = require("jsdom");

jsdom.env({
  url: "http:mywebsite.azurewebsites.net/Admin/scheduler?userid=89",
  scripts: ["http://code.jquery.com/jquery.js"],
  features: {
    FetchExternalResources : ['script'],
    ProcessExternalResources : ['script'],
  },
  done: function(err, window) {
    if(!err){
      console.log("done");
    } else {
      console.log("not done!");
    }

  }
}); 

1 个答案:

答案 0 :(得分:0)

所以我决定使用Selenium而不是因为我正在用jsdom圈出来。我有一台服务器可以让它正常工作,因此在这个实例中不需要Node ..