我想从我的程序运行 PhantomJs 脚本,但由于脚本可能不是我编写的,我需要确保 PhantomJs 在执行完成或因任何原因(例如,无效语法、超时等)失败后退出。到目前为止,我所读到的所有内容都说您必须始终包含指令 phantom.exit() 以便 PhantomJs 退出。有没有办法在执行给定脚本后自动关闭 PhantomJs?
谢谢。
我想从我的程序运行 PhantomJs 脚本,但由于脚本可能不是我编写的,我需要确保 PhantomJs 在执行完成或因任何原因(例如,无效语法、超时等)失败后退出。到目前为止,我所读到的所有内容都说您必须始终包含指令 phantom.exit() 以便 PhantomJs 退出。有没有办法在执行给定脚本后自动关闭 PhantomJs?
谢谢。
创建一个文件run-javascript.js:
var system = require('system');
try {
for (var i=1; i<system.args.length; i++) {
var scriptFileName = system.args[i];
console.log("Running " + scriptFileName + " ...");
require(scriptFileName);
}
}
catch(error) {
console.log(error);
console.log(error.stack);
}
finally {
phantom.exit();
}
然后运行你的文件myscript.js:
phantomjs run-javascript.js ./myscript.js
您必须包含myscript.js的显式路径,即./myscript.js,否则phantomjs会将脚本作为模块查找。
这里处理了三种执行场景: