📜  PhantomJS-概述

📅  最后修改于: 2020-10-21 05:33:03             🧑  作者: Mango


PhantomJS被称为无头浏览器,因为在执行JavaScript代码时不涉及浏览器。该执行将不会在浏览器显示中显示,而是在命令行提示符下显示。 CSS处理,DOM操作,JSON,Ajax,Canvas,SVG等功能都将在命令提示符下进行。 PhantomJS没有GUI,因此,其所有执行都在命令行中进行。

使用PhantomJS,我们可以写入文件,读取文件内容或上传文件,进行屏幕截图,将网页转换为pdf等。使用无头浏览器,您将获得所有浏览器行为,例如Cookies,Http请求方法(GET / POST),清除Cookies,删除Cookies等,重新加载页面,导航到其他页面

PhantomJS使用WebKit,该WebKit具有与著名的浏览器类似的浏览环境,例如Google Chrome,Mozilla Firefox,Safari等。它还提供了许多JavaScript API,可帮助截取屏幕截图,上传文件,写入文件,读取文件,与网页进行交互等。

PhantomJS不支持Flash或Video,因为它需要插件,并且很难在命令行上支持它们。

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