【问题标题】:Installing CasperJS on Windows: How to do it correctly?在 Windows 上安装 CasperJS:如何正确执行?
【发布时间】:2013-02-15 12:02:21
【问题描述】:

我知道 CasperJS 网站上有一份关于如何在 Windows 上安装 CasperJS 的文档,但请耐心等待这些人只为专业人士解释。

如果您是 CasperJS 和 PhantomJS 世界的新手,那么您甚至没有机会了解甚至花两天时间在网上搜索以获得更好的解释。

我正在做一个项目,该项目需要我的项目网站上列出的每个网站的屏幕截图,环顾四周,我发现 PhantomJS 非常适合这项任务(网站截图)。

我下载了 PhantomJS 并将其 phantomjs.exe 文件粘贴到 system32 中,当我使用 cmd.exe 发送命令时效果很好。

我什至设法只用phantomjs.exe 截取屏幕截图。但是当我注意到当这两者(CasperJS 和 PhantomJS)一起工作时工作量可能会更容易时,我的问题就来了,因为我什至可以在使用 CasperJS 时减小屏幕截图的大小。

事实上,我想要 CasperJS 的唯一用途是限制镜头大小,但从昨天开始,我一直试图弄清楚如何让 CasperJS 在 Windows 上工作,但无济于事。

我已经下载了 CasperJS 并尝试以多种方式安装它,也尝试遵循文档但没有。

按照文档的建议,我将 CasperJS 文件夹名称从其下载名称更改为 CasperJS,但是当我签入 cmd 尝试调用某些命令时,什么也没有发生。

考虑到我是一个新手来解释如何在窗口上安装 CasperJS 或者如果可能的话只使用 PhantomJS 我如何重新调整程序产生的 iamge 的大小,任何人都可以简单地帮助我。说如果我想要 960 到 400 像素。

【问题讨论】:

  • 您需要提供更多信息,而不仅仅是“什么都没发生”。许多 Windows 用户按照casperjs.org/installation.html#windows 中的步骤,愉快地使用 CasperJS,没有任何问题。
  • @Ariya Hidayat Wel 感谢您的快速响应,我按照该页面上的信息进行操作,当我尝试运行 casperjs 时出现错误,提示“Phantomjs 未被识别为内部或外部命令,可操作程序或批处理文件”请问我哪里出错了?
  • 我认为这个问题得到了正确的回答。请考虑选择一个对您有帮助的答案。

标签: windows phantomjs casperjs


【解决方案1】:

Windows 文档不足。 http://casperjs.org/installation.html#windows

一开始就假设你已经安装了,但没有告诉你如何安装。

所以如果其他人对此感到困惑,那就是这里。没有实际安装。它只是将 zip 内容提取到正确的位置。

  1. 从 phantomjs 站点下载适用于 windows 的 phantomjs(它是一个包含二进制文件的 zip)
  2. 将内容解压到 C:\phantomjs
  3. 从 casperjs 网站下载 casperjs zip 文件
  4. 将内容解压到 C:\casperjs
  5. 现在您可以将以下内容添加到系统或用户 PATH 变量的末尾

    ;C:\phantomjs;C:\casperjs\batchbin

  6. 如果您正在运行 Console2 或 Conemu 终端模拟器,则重新启动 cmd.exe 以获取新路径变量或注销/登录(它们不会通过简单的关闭和重新打开来获取新路径)

现在在文档中说要像这样运行它

casperjs.bat myscript.js

实际上,由于 phantomjs.exe 和 casperjs.bat 现在都在系统 PATH 中,您可以像这样取消扩展。

casperjs myscript.js

当运行 phantomjs.exe 时,只需运行

phantomjs

还有一件事。只要将该路径添加到系统PATH,安装位置实际上并不重要。我安装到 C:\usr\phantomjs 和 C:\usr\casperjs。

【讨论】:

  • 我应该注意,因为我称它为糟糕的文档,自从我最初发布此答案以来,他们似乎对该链接的安装说明进行了一些改进。
  • 那太好了,谢谢。我到了 phantomjs 页面,就像你说的那样,他们假设你已经安装了 phantomjs。因为他们遗漏了该说明,所以我收到错误提示 phantomjs 无法识别内部或外部命令。
  • 真的很有帮助,点个赞
  • 使用来自 nuget 的 phantomjs,来自网站的 casperjs 1.0.2,我必须将 4 行添加到 bootstrap.js,如下所述:github.com/n1k0/casperjs/issues/1150
  • 最新的 phantomjs 和 casperjs 路径应该包含 ;C:\phantomjs\bin;C:\casperjs\bin
【解决方案2】:

我在下面列出了在我的个人 Windows 和 Ubuntu 工作 PC 上满足我需求的方法。请注意,我的方法不会修改 PATH 设置,而是涉及一个可以保存在某处并根据需要复制和粘贴的命令:

第 1 步:收集先决条件

  • 下载要使用的 casperjs 和 phantomjs 版本
  • 创建一个目录来包含我要列出的内容
  • 解压下载的phantomjs并将其可执行文件复制到步骤b的目录
  • 提取 casperjs 并将其文件夹重命名为 casperjs
  • 将重命名的casperjs文件夹复制到步骤b的目录下
  • 创建文件config.json并保存到步骤b的目录
  • config.json 应该包含 phantomjs 配置,如下所示:http://phantomjs.org/api/command-line.html

第 2 步:运行您的脚本

  • 只要您想处理文件,请按照上述步骤 1 详细信息进行操作
  • 下一步假设您在步骤中创建的目录中 Step 1 的 b 也有一个名为 first.js 的文件
  • 在 Windows 上:phantomjs.exe --config=config.json casperjs/bin/bootstrap.js --casper-path=casperjs --cli first.js
  • 在 Ubuntu 上:./phantomjs --config=config.json casperjs/bin/bootstrap.js --casper-path=casperjs --cli first.js

实验性的config.jsfirst.js如下:

config.json

{"sslProtocol": "any", "cookiesFile": "biscuit", "maxDiskCacheSize": 1000, "diskCache": true}

first.js

var casper = require('casper').create({
    pageSettings: {
        loadImages: false,
        loadPlugins: true,
        userAgent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'
    }
});
var url = "http://casperjs.org/";

casper.start(url).wait(60 * 1000 * 1, function() {
     casper.echo('1 min has passed');
     casper.capture('casperjs.png');
     casper.exit();
});

casper.run();

附录:下载并保存screenshots.js的详细信息并运行为

phantomjs.exe --config=config.json casperjs/bin/bootstrap.js --casper-path=casperjs --cli screenshots.js http://phantomjs.org

运行测试:下载并保存picturefill-test.js的详细信息并运行它

phantomjs.exe --config=config.json casperjs/bin/bootstrap.js --casper-path=casperjs 测试 --cli picturefill-test.js

【讨论】:

    【解决方案3】:

    CasperJS 1.1.0-DEV Beta 3 开始,您应该使用此 PATH:C:\casperjs\batchbin,即使找到的文档 here 声明您需要使用 @ 987654324@

    这是因为C:\casperjs\batchbin 包含一个.BAT,而C:\casperjs\bin 不包含除了一些.js 文件之外的任何内容。

    【讨论】:

    • 您实际使用的是 1.1.0-beta3 版本吗?我认为它还没有正式发布,所以你必须从 Github 页面下载 master 分支。它应该在bin 目录中包含一个casperjs.exe 文件。
    • 嗨 Hexid - 好建议,我从 casperjs.org 下载了1.1.0-beta3。不幸的是,没有.exe 文件(可能是因为它仍然是测试版)。 casperjs\batchbin 中有一个 .bat 文件。幸运的是 casperjs 仍然有效。
    • casperjs.org 只有 1.1-beta1。你必须从github.com/n1k0/casperjs下载它
    【解决方案4】:

    经过 3 天的工作,我设法让它工作,问题在于路径和幻像的安装。我已经创建了文件夹的路径,但安装指向的是 exe 文件,我所要做的就是将 exe 文件放入文件夹 phantomjs 中,这就是感谢大家的帮助。

    【讨论】:

    • 请将此作为编辑添加到您的问题中,而不是用答案来回答。也可以考虑选择一个答案来结束这个问题。
    【解决方案5】:

    许多其他答案已过时。由于正确的安装过程似乎一直在变化,我怀疑我的答案也会在几天内过时,但截至 2015 年 3 月 19 日,这就是答案。其他答案,即使是高度赞成的,也不要工作,所以不要浪费你的时间。祝你好运。 Casperjs 看起来相当不错。

    如果您下载 PhantomJS 2.0 和 casperjs 1.1-beta3 zip 文件并将 batchbin 目录放在路径中并将 phantom exe 放在同一文件夹中,然后运行 ​​casperjs,在 Windows 8.1 上我收到错误“CasperJS 需要 PhantomJS v1.x ”。

    所以,我直接从 github 获得了最新的 casperjs,它没有 batchbin 目录,所以我只将 C:\casperjs\bin 目录放在了路径中,这有效(有点,我的意思是它似乎运作良好对我来说足够了 - 虽然运行 casperjs c:\casperjs\tests\selftest.js 似乎有许多失败的测试)。

    所以回顾一下,坏消息只是最新的前沿 casperjs 作品。好消息是安装非常简单:1、2、3:

    1. 将最新的 casperjs 从 github 克隆到 c:\casperjs。
    2. 将 phantomjs.exe (ver 2.0) 复制到 c:\casperjs\bin
    3. 将 c:\casperjs\bin 添加到您的 Windows 路径

    【讨论】:

    • 我不知道这是否有必要,但我也将Python34 放入了我的path,这似乎有积极的作用。感谢您更新说明。
    • 今天这对我来说适用于 casperjs 1.1.1 和 phantomjs 2.1.1。我无法在 casper 网站上找到第 2 步,但在您这样做之前没有任何效果。
    【解决方案6】:

    以防万一您像我一样使用带有双显卡的笔记本电脑:选择其中一个以防止出现问题。这篇文章帮助了我:

    casperJS not finishing on windows

    casperJS 文档对此非常清楚,但在阅读上面的通知之前我不知道该怎么做。

    【讨论】:

      【解决方案7】:

      快进到 2015... 5 步 win7 操作方法:

      1. 巧克力: PS me> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
      2. git: choco install git -y
      3. phantomjs 2.0: choco install phantomjs -y
      4. casperjs 来源: git clone https://github.com/n1k0/casperjs -b phantomjs-2
      5. casperjs/bin的位置添加到PATH

      完成。您现在可以casperjs --version 并从此过上幸福的生活。

      【讨论】:

        【解决方案8】:

        好的,伙计们。所以我认为这个线程需要在 2018 年刷新!

        所以使用npm,工作量会大大减少。鉴于您已安装 npm,打开终端并转到您的项目:

        cd your_project_name

        现在安装 casperjs。根据需要使用--save-dev--save-g 或不使用:

        npm install --save-dev casperjs

        现在安装 phantomjs。为此,您应该安装 phantomjs-prebuilt,因为 PhantomJS 团队更改了他们的包名:

        npm install --save-dev phantomjs-prebuilt

        运行你的规范:

        casperjs your_spec_name.js

        【讨论】:

        • 我不得不将 node_modules\phantomjs-prebuilt\lib\phantom\bin\phantomjs.exe 复制到 node_modules\casperjs\bin,然后使用它的路径调用 casperjs (node_modules\casperjs\bin\ casperjs MyTestScript.js)
        猜你喜欢
        • 1970-01-01
        • 2019-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-27
        • 1970-01-01
        • 2022-10-15
        • 2019-04-22
        相关资源
        最近更新 更多