我想使用噩梦获取我的网络应用程序的屏幕截图。如果在运行代码时没有错误,并且退出是干净的,则不会留下任何phantomjs实例。
var Nightmare = require('nightmare');
var Screenshot = require('nightmare-screenshot');
var nightmare = new Nightmare();
var url = process.argv[2];
var url = process.argv[3];
nightmare
.goto(url)
.wait('#selector')
.use(Screenshot.screenshotSelector(path, '#selector'))
.run(function (err, nightmare) {
if (err)
console.log('Error');
else
console.log('Done.');
nightmare.teardownInstance();
nightmare.end();
});
但是,如果Web没有运行等错误,则不存在选择器。幻影的实例仍然未被发现。
$ ps -ax | grep phantom
6065 ttys004 0:00.00 grep phantom
6050 ttys005 0:02.87 phantomjs --load-images=true --ignore-ssl-errors=true --ssl-protocol=any --web-security=true /.../node_modules/phantom/shim.js 13201 127.0.0.1
即使出现任何错误,我怎样才能正确退出其实例?
答案 0 :(得分:1)
目前,.wait(elem)
继续循环以检查元素是否每250ms存在一次。您可以向开发人员报告此信息,以添加传递的附加参数,以便在特定超时后停止检查以正常退出。
或者,您可以通过手动检查元素是否存在特定超时来解决问题,然后退出该过程。
您可以使用wait(fn)
执行检查。