我已经在网络服务器上运行了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');
从它的外观来看,我需要将两者合二为一,然后拆分它们,但我该如何去做呢?
编辑:发布的方法不起作用
答案 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