【问题标题】:How can I send two arguments to casperjs from php?如何从 php 向 casperjs 发送两个参数?
【发布时间】:2017-01-31 07:22:08
【问题描述】:

我正在尝试从 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]。这里有什么问题?

【问题讨论】:

  • 尝试用console.log(JSON.stringify(args));调试你得到的东西

标签: php parsing web-scraping phantomjs casperjs


【解决方案1】:

您可以将参数提供给 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();

【讨论】:

  • 这是您在此处描述的问题的解决方案吗?
猜你喜欢
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
相关资源
最近更新 更多