【问题标题】:How can I execute casperjs from php?如何从 php 执行 casperjs?
【发布时间】:2017-01-31 15:22:24
【问题描述】:

我有一个来自手册 http://docs.casperjs.org/en/latest/cli.html 的 test.js 代码

var casper = require("casper").create();

casper.echo("Casper CLI passed args:");
require("utils").dump(casper.cli.args);

casper.echo("Casper CLI passed options:");
require("utils").dump(casper.cli.options);

casper.exit();

我可以从终端“$ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg”成功执行它。它工作正常,这很好,但我需要从 PHP 脚本执行此操作,我已尝试通过 PHP 代码执行此操作:

<?php

function parser() {
    try {
        echo(exec("C:\casperjs\bin\casperjs.exe  C:\OpenServer\domains\casper\test.js arg1 arg2 arg3 --foo=bar --plop anotherarg"));
        flush();
    } catch (Exception $exc) {
        echo('error!');
        echo $exc->getTraceAsString();
    }
}

parser();

putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
putenv("DYLD_LIBRARY_PATH");

?>

但我在 __die 中遇到了失败的“phantomjs://code/bootstrap.js:110”。 我怎样才能正确地做到这一点?请帮忙!

【问题讨论】:

  • 试试this lib,它对我有用。你也可以自己扩展和破解它。

标签: php parsing web-scraping phantomjs casperjs


【解决方案1】:

您可以为 CasperJS 使用 PHP 包装器:

或者,您可以使用exec() 来执行命令:

$result = exec('PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs script.js');
echo $result;

【讨论】:

    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    相关资源
    最近更新 更多