- 文件系统模块
- PhantomJS - 属性
- PhantomJS - 方法
- 系统模块
- PhantomJS - 属性
- Web 服务器模块
- PhantomJS - 属性
- PhantomJS - 方法
- 其他
- 命令行界面
- PhantomJS - 屏幕截图
- PhantomJS - 页面自动化
- PhantomJS - 网络监控
- PhantomJS - 测试
- PhantomJS - REPL
- PhantomJS - 示例
- PhantomJS 有用资源
- PhantomJS - 快速指南
- PhantomJS - 有用资源
- PhantomJS - 讨论
PhantomJS - 概述
PhantomJS被称为无头浏览器,因为在执行 JavaScript 代码时不涉及浏览器。执行过程不会在浏览器显示中看到,而是在命令行提示符下。诸如CSS 处理、DOM 操作、JSON、Ajax、Canvas、SVG等功能都将在命令提示符下处理。PhantomJS 没有 GUI,因此其所有执行都在命令行中进行。
使用 PhantomJS,我们可以写入文件、读取文件内容或上传文件、截取屏幕截图、将网页转换为 PDF 等等。使用无头浏览器,您可以获得所有浏览器行为,即Cookie、Http 请求方法,即GET/POST、清除 Cookie、删除 Cookie等,页面重新加载、导航到不同的页面。
PhantomJS 使用 WebKit,它具有类似于著名浏览器(如 Google Chrome、Mozilla Firefox、Safari 等)的浏览环境。它还提供大量 JavaScript API,有助于截取屏幕截图、上传文件、写入文件、读取文件、与网页交互等。
PhantomJS 不支持 Flash 或视频,因为它需要插件,并且难以在命令行上支持相同的功能。
PhantomJS 的功能
现在让我们了解 PhantomJS 提供的功能。
页面自动化
PhantomJS 允许您借助其 API 读取页面内容。它可以帮助操作 DOM,使用外部库来执行所需的任务。
屏幕截图
PhantomJS 帮助截取指定页面的屏幕截图,并将其保存为各种格式的图像,如 PNG、JPEG、PDF 和 GIF。借助屏幕截图,它可以轻松帮助确保 Web 内容正常。
PhantomJS 提供属性和方法,借助这些属性和方法,它允许开发人员调整屏幕截图的大小并指定他们想要捕获的区域。
无头测试
PhantomJS 帮助在命令行中测试 UI。同时,借助屏幕截图,它可以轻松帮助查找 UI 中的错误。PhantomJS 有时无法单独帮助进行测试。但是,它可以与其他测试库(如 Mocha、Yoeman 等)一起包装。您可以借助 PhantomJS 上传文件并提交表单。
PhantomJS 可用于测试跨站点的登录,并确保安全性不受损害。PhantomJS 可以与其他工具(如CasperJS、Mocha、Qunit)一起使用,使测试更强大。
网络监控
PhantomJS 的重要功能之一是使用可用的 API 监控网络连接。PhantomJS 允许检查网络流量;它适合构建有关网络行为和性能的各种分析。
PhantomJS 可用于收集有关网页在实时环境中的性能数据。PhantomJS 可以与Yslow等工具一起使用,以收集任何网站的性能指标。