javascript - 有没有办法用 CasperJS 截取新遗物的仪表板屏幕截图?

标签 javascript node.js phantomjs casperjs newrelic

我尝试从新的遗迹洞察仪表板捕获一些图像,但它不起作用。

该脚本在几周前运行,但现在,我只得到一些顶部带有橙色边框的空图像(就像未启用 JavaScript 一样)。

这是我的脚本:http://pastebin.com/aiBiWXqK

它适用于登录页面,但对于其他 2 个捕获,它显示一个空页面。

我在 .sh 文件中像这样运行这个脚本。

PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs --cookie-file=$(pwd)/tv-cookies.txt $(pwd)/capture.js --ssl-protocol=any --ignore-ssl-errors=true

我尝试casper.wait(fun, 300000) 以确保它会完全加载。

我尝试使用 casper.waitForSelector('.dashboard-widgets', fn) 检查选择器是否已创建,但它不起作用。

我知道仪表板是用 Angular 创建的,但我 try catch 其他用 Angular 创建的网站,但没问题。

有人知道怎么做吗?或者有什么建议或其他软件包可以用来做到这一点?

最佳答案

我试过 Nightmare.js !它工作#1!非常容易理解和阅读!

var nightmare = Nightmare();
var NRdashboard = nightmare
  .viewport(1920, 1080)
  .useragent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36')
  .goto('https://login.newrelic.com/login')
  .wait()
  .screenshot(content_dir + '/others/nightmare/login.png')
  .type('#login_email', '***')
  .type('#login_password', '***')
  .screenshot(content_dir + '/others/nightmare/loginFilled.png')
  .click('#login_submit')
  .wait(2000)
  .screenshot(content_dir + '/others/nightmare/dashboard.png')
  .goto('https://insights.newrelic.com/accounts/123456')
  .wait(2000)
  .screenshot(content_dir + '/others/nightmare/dashboard2.png')
  .run(function (err, nightmare) {
      if (err) return console.log(err);
      console.log('Done!');
  });

关于javascript - 有没有办法用 CasperJS 截取新遗物的仪表板屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33524737/

相关文章:

javascript - 第二个菜单在导航时不添加 .active 类

javascript - 如何从点击事件中获取对象属性

jquery - Node JS 排序数组通过 Handlebars 模板客户端传递

node.js - 如何使用Sequelize.js建立表之间的多对多关系?

testing - CasperJS HTTP 身份验证

javascript - chartjs 不工作 php 页面但在 html 页面上工作

Javascript 压入对象

node.js - 限制mongodb返回的子文档

python - 在 osx 上使用 python 打开/关闭 wifi

javascript - 如何在 CasperJS 中设置 wait() 的值?