Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将外部输入动态注入SlimerJS脚本?_Javascript_Casperjs_Slimerjs - Fatal编程技术网

Javascript 如何将外部输入动态注入SlimerJS脚本?

Javascript 如何将外部输入动态注入SlimerJS脚本?,javascript,casperjs,slimerjs,Javascript,Casperjs,Slimerjs,我需要一些关于苗条的帮助。基本上,我的程序需要定期从stdin获取输入来执行下一个任务 在从外部输入读取时,以下代码与PhantomJS+CasperJS配合使用效果良好,但在SlimerJS+CasperJS中无法做到这一点 some code ... var nextLink = system.stdin.readLine(); some code ... 有没有关于如何解决此问题的想法?中的和缺少stdin属性显然不支持这一点 主要有两种可能的解决办法。这两种方法都要求您用自己选择的

我需要一些关于苗条的帮助。基本上,我的程序需要定期从stdin获取输入来执行下一个任务

在从外部输入读取时,以下代码与PhantomJS+CasperJS配合使用效果良好,但在SlimerJS+CasperJS中无法做到这一点

some code ...

var nextLink = system.stdin.readLine();

some code ...

有没有关于如何解决此问题的想法?

中的和缺少
stdin
属性显然不支持这一点

主要有两种可能的解决办法。这两种方法都要求您用自己选择的语言编写第二个程序(可以是PhantomJS脚本)

  • 当您在CasperJS脚本中到达需要获取输入的位置时,您会多次读取预定义文件,直到其中有东西。因此,当您看到CasperJS在这里时,您将执行第二个程序。该程序可能是一个简单的命令,如

    echo my text > predefinedFile.txt
    
    或者更复杂的东西。CasperJS中的轮询函数如下所示:

    function poll(){
        var content = fs.read(predefinedFile).trim();
        if (!content) {
            this.wait(1000, poll);
        } else {
            // do something sensible
        }
    }
    //....
    casper.then(poll);
    
  • 当SlimerJS作为CasperJS脚本运行时,您可以使用它向SlimerJS发送消息。第二个程序需要发送实际请求