当前位置: 首页 > 面试题库 >

通过exec将变量传递给PhantomJS

邹正阳
2023-03-14
问题内容

我开始使用Grunt,并希望将变量传递给我通过exec运行的PhantomJS脚本。我想要做的是为脚本传递URL,以从中获取屏幕截图。任何帮助将不胜感激,谢谢!

达伦

咕script声脚本

exec('phantomjs screenshot.js',
    function (error, stdout, stderr) {
        // Handle output
    }
);

screenshot.js

var page = require('webpage').create();
page.open('http://google.com', function () {
    page.render('google.png');
    phantom.exit();
});

问题答案:

命令行参数可通过模块require('system').args(Module System)访问。第一个始终是脚本名称,然后是后续参数

该脚本将枚举所有参数,并将其写到控制台。

var args = require('system').args;
if (args.length === 1) {
    console.log('Try to pass some arguments when invoking this script!');
}
else {
    args.forEach(function(arg, i) {
        console.log(i + ': ' + arg);
    });
}

在您的情况下,解决方案是

咕unt声

exec('phantomjs screenshot.js http://www.google.fr',
    function (error, stdout, stderr) {
        // Handle output
    }
);

screenshot.js

var page = require('webpage').create();
var address = system.args[1];
page.open(address , function () {
    page.render('google.png');
    phantom.exit();
});


 类似资料:
  • 问题内容: 我试图将变量从我的javascript代码传递到服务器端PHP代码。我知道这必须通过ajax调用来完成,我相信我已经正确地完成了,但是访问变量是从我的ajax传递到我的php时遇到的麻烦,因为我是php的新手。到目前为止,这是我的代码: 我正在尝试将我的JavaScript变量“ userID”传递给php($ userID),但是在此过程中我出错了。谢谢您的帮助! 问题答案: 将这样

  • 问题内容: 好吧,我在我的烧瓶应用程序中有这个: 现在,如果我像这样调用它: 它吐出“找不到URL” …这是我在做什么错? 问题答案: 第一条路径描述了一个URL,并将值作为URL的一部分。第二个网址描述的路由没有变量,但网址中带有查询参数。 如果您使用的是第一条路线,则网址应类似于。 如果您使用的是第二个url,则路由应类似于,函数应为,值应从读取。 通常,路由应描述应始终存在的所有参数,并且表

  • 问题内容: 我有Google地图提供的JavaScript值,需要将其保存在MySQL数据库中。 其实我有变量 我需要将该变量传递给PHP变量lugar 问题答案: 如果要在页面转换时进行操作,则可以通过表单或在URL中传递它,然后仅使用或接收变量。 如果您需要无缝完成它,那么您可能需要考虑使用AJAX。

  • 问题内容: 我有一个PHP会话变量,在整个会话过程中仍然有效。在开头部分,我包含了我的JavaScript文件。 如果需要以下内容,如何将会话变量传递到JavaScript文件中。 由于无法在JavaScript文件中识别出,因此上面的代码不起作用。因此,我必须放入PHP文件本身,但是如何将其保留在JavaScript文件中? 问题答案: 在您的PHP文件中,您可以将用户设置为全局变量: 在包含外

  • 问题内容: 如果我有一个指令,我可以这样调用它 我该如何访问?我在函数中使用时会得到实际的字符串。当我检查html时,实际上说。 问题答案: 尝试 然后 演示:柱塞

  • 问题内容: 我目前正在express.js应用程序中处理handlebars.js。为了使事情保持模块化,我将所有模板都分成了部分。 我的问题 :我找不到通过部分调用传递变量的方法。假设我有一个部分看起来像这样: 假设我用“ myPartial”这个名字注册了这个部分。然后,在另一个模板中,我可以说: 效果很好,部分将按预期渲染,我是一个快乐的开发人员。但是,我现在需要的是一种通过此调用传递不同变