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

Azure and Node.js and JSDOM scheduled task - opening a webpage with scripts

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

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

我尝试使用 Azure 作业访问该页面,但页面上显然 JavaScript 不能在他们的沙箱中 运行。所以我转向了 Node 和 JSDOM。

我在我的 Azure 实例上有一个非常基本的节点 app.js 运行,它 运行 页面(基本上我收到一封包含 PDF link) 但是它只呈现页面的第一个元素,因此 PDF 几乎没有任何内容。

我已经在此处包含了我的 app.js 中的代码。如有任何指点,我们将不胜感激。谢谢!顺便说一下,我在 中询问了我最好的方法是什么我希望这是一个新问题的有效案例...?

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!");
    }

  }
}); 

所以我决定使用 Selenium 来代替,因为我只是在 jsdom 中兜圈子。我有一台服务器,它正在运行,所以在这种情况下不需要 Node..