个性化阅读
专注于IT技术分析

如何在Windows中使用命令提示符使用PhantomJS

本文概述

PhantomJS是一款无头WebKit, 可使用JavaScript API多平台编写脚本, 可在以下主要操作系统上使用:Windows, Mac OS X, Linux和其他Unices。它具有对各种Web标准的快速本机支持:DOM处理, CSS选择器, JSON, Canvas和SVG。

PhantomJS本身具有网站测试的许多功能, 它使你可以使用Jasmine, QUnit, Mocha, Capybara, WebDriver等框架运行功能测试。它允许你创建屏幕截图, 网站自动化, 文档处理和网络监控等。

在本文中, 我们将学习如何从Windows中的命令行操作PhantomJS并测试基本功能, 如屏幕截图, PDF生成等。

要求

  • 一个用于Windows的PhantomJS发行版, 你可以在此处的官方网站的下载区域中获取最新版本。

注意:没有安装过程, 因为你将获得带有两个文件夹, examples和bin(包含phantomjs.exe)的.zip文件。

PhantomJS如何工作

想像一下像Google Chrome这样的简单网络浏览器, 准备好了吗?现在删除图形用户界面(GUI), 你将获得一个无头的浏览器, 基本上就是PhantomJS。它们非常适合以编程方式自动化和测试网页, 而PhantomJS是目前最好的无头浏览器之一。

从cmd.exe开始使用PhantomJS

解压缩下载的.zip文件后, 你将获得2个文件夹:examples和bin。在Bin中可以找到PhantomJS的可执行文件。

PhantomJS

首先, 打开Windows终端cmd.exe并执行以下命令导航到phantomJS的bin路径:

# In this example, the bin folder is located in the desktop
# Obviously, provide your own path
cd C:\Users\sdkca\Desktop\phantomjs-2.1.1-windows\bin

注意:你可以简单地创建一个指向Phantomjs.exe位置的环境变量, 然后从控制台中的任何位置执行该变量。

现在你位于PhantomJS的路径中, 你将能够使用phantomjs轻松执行命令。

要操作phantomjs, 你将主要使用Javascript执行phantomjs命令, 该命令将JS文件的路径作为第一个参数。

phantomjs myjsfile.js

就这样 !现在, 你只需要学习如何为phantomJS编写合适的javascript。

对于你的第一次练习, 我们将截取Our Code World网站的屏幕截图。在phantomjs可执行文件的相同位置创建一个screenshot.js文件:

PhantomJS第一个脚本

并在screenshot.js文件中包含以下代码:

var page = require('webpage').create();
var websiteAddress = 'http://ourcodeworld.com/';
//viewportSize being the actual size of the headless browser
page.viewportSize = { width: 1680, height: 1050 };
//the clipRect is the portion of the page you are taking a screenshot of
page.clipRect = { top: 0, left: 0, width: 1680, height: 1050 };

// Open website
page.open(websiteAddress, function(status) {
    // Show some message in the console
    console.log("Status:  " + status);
    console.log("Loaded:  " + page.url);

    page.render('ourcodeworld.png');
    phantom.exit();
});

最后在命令提示符下执行以下命令:

phantomjs screenshot.js
成功消息截图

等待执行, 直到看到成功消息, 然后再次打开bin文件夹。

屏幕截图

我们的网站截图已创建, 非常好, 真的很简单吗?

已知的Windows问题

如果数据传输不正确, 请检查网络是否按预期工作。

特别是在Windows上, 默认代理设置可能会导致大量的网络延迟。解决方法是完全禁用代理, 例如通过使用–proxy-type = none命令行参数启动PhantomJS。

总结

现在你知道了PhantomJS的基本工作原理, 你将能够了解文档并发现PhantomJS必须提供的所有出色功能。

与往常一样, 我们鼓励你查阅文档以了解如何生成PDF, 远程调试等。祝你玩得开心!

赞(0)
未经允许不得转载:srcmini » 如何在Windows中使用命令提示符使用PhantomJS

评论 抢沙发

评论前必须登录!