gpt4 book ai didi

phantomjs - 运行脚本后自动关闭 PhantomJs

转载 作者:行者123 更新时间:2023-12-02 02:14:35 29 4
gpt4 key购买 nike

我想从我的程序运行 PhantomJs 脚本,但由于脚本可能不是我写的,我需要确保 PhantomJs 在执行完成或因任何原因(例如无效语法、超时、 ETC)。到目前为止,我读到的所有内容都说你必须始终包含 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 将寻找作为模块的脚本。

这里处理了三种执行场景:

  1. 成功执行,此时在 finally 子句中调用 phantom.exit()
  2. 正在运行的脚本出错,在这种情况下,require 函数会打印堆栈跟踪并返回(不会向调用代码抛出任何错误)。
  3. 运行脚本时出错(例如,脚本不存在),在这种情况下,catch 子句会打印出堆栈跟踪信息,并在finally 子句。

关于phantomjs - 运行脚本后自动关闭 PhantomJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11180662/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com