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等工具一起使用,以收集任何网站的性能指标。

广告