如何在 Google Chrome 等浏览器中打开 CasperJS/PhantomJS 文件?

How to open a CasperJS/PhantomJS file in a browser like Google Chrome?

我刚开始使用无头浏览器 (CasperJS/PhantomJS),我正在使用它进行网页抓取,因此我可以抓取 AJAX 个网站。

但是我有一个问题:

我需要在 Google Chrome 等普通浏览器中打开文件,所以有人知道是否有办法做到这一点吗?

我已经在文件中包含此代码 "test.js":

var casper = require('casper').create();
casper.start('http://casperjs.org/', function() {
this.echo(this.getTitle());
});

casper.thenOpen('http://phantomjs.org', function() {
this.echo("a" + this.getTitle());
});

如果我使用命令行 (CMD) 运行 这个文件,它可以工作:

但我也尝试将其更改为 HTML 文件,以便可以通过网络浏览器打开它:

<html>
<head>
    <title></title>
</head>
<body>
    <script>
        var casper = require('casper').create();
        casper.start('http://casperjs.org/', function() {
        this.echo(this.getTitle());
        });

        casper.thenOpen('http://phantomjs.org', function() {
        this.echo("a" + this.getTitle());
        });

        casper.run();
    </script>
</body>

当我在 Google Chrome 中打开此 HTML 文件时,出现此错误:

有什么想法吗?

编辑:我终于可以使用 PHP 在浏览器上 运行 CasperJS。下面是PHP代码,如果以后有人需要的话,希望对你有帮助:

<?php
    $text = exec("casperjs C:/Users/User/Desktop/CasperFile.js");
    echo $text;
?>

字体:Cannot pass CasperJS result back to PHP

不幸的是,它不起作用。您要做的类似于用视频播放器打开 MS Word 文件。

脚本不是 HTML 页面,它是一个程序,Google Chrome 不是 CasperJS/PhantomJS 因此不会 运行 设计脚本为他们。

如果您想在浏览器中进行抓取,最好的办法是创建 a browser extension

您不能 运行 直接从 Google Chrome 或 Firefox 等浏览器中使用 CasperJS。

如果可能的话,将允许违反 same-origin policy

要绕过任何限制,您应该在服务器端进行网络抓取。

因为,根据您的 ,您正在使用 PHP,您可以为 CasperJS 使用 PHP 包装器:

或者,您可以使用 exec 命令:

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