将多个变量从php传递给casperjs

时间:2016-05-02 15:43:55

标签: javascript php phantomjs casperjs

我已经在网络服务器上运行了phantomjs和casperjs。我的网页上有一个表格,表格中有两个字段(姓名和电子邮件地址)。

我需要将'name'和'email'作为变量输入到我的casper脚本中。从阅读

Pass parameter from php to casperjs/phantomjs

http://phantomjs.org/api/system/property/platform.html

我知道你需要把var system和var args放在一起,但这对我来说似乎都是双重的。

Php代码

$name = $_POST['user_input'];
$email = $_POST['user_input'];
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
exec('/usr/local/bin/casperjs hello.js $name $email 2>&1',$output);

print_r($output);

casperjs代码

var system = require('system');
var args = system.args;
var name = args
var email = args

var casper = require('casper').create({
  verbose: true,
});
casper.start('website url');



casper.then(function () {
    casper.wait(5000); 
        this.echo("wait for 5 seconds.");

});
casper.then(function () {

    this.sendKeys('#firstname', name);
    this.sendKeys('#thereemail', email);
    this.click('.button');

从它的外观来看,我需要将两者合二为一,然后拆分它们,但我该如何去做呢?

编辑:发布的方法不起作用

1 个答案:

答案 0 :(得分:1)

var casper = require("casper").create({
  verbose: true,
});
var name = casper.cli.args[0];
var email = casper.cli.args[1];

另请参阅:非常接近answer您的问题; official CasprJS docs on working with CLI

相关问题