如何从php向casperjs发送两个参数?

时间:2017-01-31 07:22:08

标签: php parsing web-scraping phantomjs casperjs

我试图将两个参数从php发送到casperjs,这是我的代码:

echo "myurli: ".$myurli."<br>";
echo "file_path: ".$file_path."<br>";
parser($myurli, $file_path);

function parser($myurli, $file_path) {
    try {
        echo(exec("C:\casperjs\bin\casperjs.exe C:\OpenServer\domains\casper\auth.js $myurli $file_path 2>&1"));
        flush();
    } catch (Exception $exc) {
        echo('Ошибка!');
        echo $exc->getTraceAsString();
    }
}

这是我的casperjs代码的一部分:

var system = require('system');
var args = system.args;
var myurli = args[4];
var file_path = args[5];

当我检查这些参数时,我得到myurli,但file_path是[object Object]。这有什么不对?

1 个答案:

答案 0 :(得分:0)

您可以将参数提供给casper cli:

casperjs --variable_1="variable 1" test.js

然后你可以在你的casper代码中处理variable_1:

var variable_1 = casper.cli.get('variable');

casper.start(url, function() {
  casper.then(function() {
    casper.echo(variable_1);
  });
});

casper.run();