我有phantomjs和casperjs在Web服务器上工作。我有一个网页,上面有一个表格和两个字段(姓名和电子邮件地址)。
我需要将"name"answers"email"作为变量输入到我的casper脚本中。从读取
将参数从php传递到casperjs/fontomjs
和
http://phantomjs.org/api/system/property/platform.html
我知道你需要放var系统和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');
从表面上看,我需要把两者都放在一个论点中,然后把它们分开,但我该怎么做呢?
编辑:发布的方法不起作用
var casper = require("casper").create({
verbose: true,
});
var name = casper.cli.args[0];
var email = casper.cli.args[1];
另请参阅:非常接近您问题的答案;关于使用CLI 的官方CasprJS文档