fbpx
维基百科

PhantomJS

PhantomJS是一种已停止開發的无头浏览器,用于自动化网页交互。PhantomJS 提供了一个JavaScript API,支持自动模擬鼠標、屏幕截图、用户行为和断言,使其成为用于在无头系统(如持续集成环境)中运行基于浏览器的单元测试的常用工具。PhantomJS 基于WebKit,使其成为类似于SafariGoogle Chrome(在其WebKit分支变为Blink之前)的浏览环境。它是在BSD许可证下发布的开源软件

PhantomJS
開發者Ariya Hidayat
首次发布2011年1月17日,​12年前​(2011-01-17
目前版本
  • 2.1.1 (2016年1月24日)[1]
源代码库
  • github.com/ariya/phantomjs
编程语言C++JavaScriptC
类型無頭瀏覽器
许可协议BSD许可证[2]
网站phantomjs.org/ 

历史

PhantomJS 经过几年的开发,于 2011年1月23日由 Ariya Hidayat 发布[4]第一次公開提交是在 2011 年。 [5]

PhantomJS 的常用标志是黑色背景上的荧光蓝色幽灵。这是指缺少图形用户界面或浏览器主体,使 PhantomJS 用户看起来像鬼。

2018年3月,由于缺乏积极贡献,PhantomJS 的开发暂停。[6]

用法

PhantomJS的JavaScript API 可用于打开网页、截屏、执行用户操作以及在页面上下文中运行注入的 JavaScript。例如,以下代码将打开英文維基百科,并在加载时将屏幕截图保存到文件并退出。

console.log('正在載入頁面'); var page = require('webpage').create(); var url = 'http://en.wikipedia.org/'; page.open(url, function (status) { console.log('頁面已載入'); page.render('wikipedia.org.png'); phantom.exit(); }); 

生态系统

PhantomJS 的影響力之大,以至于类似的项目都采用 API 作为与无头浏览器交互的标准方式。 SlimerJS 提供了一个类似 PhantomJS 的 API,但是基于MozillaGecko 浏览器引擎而不是 WebKit。[7]類似的專案trifleJS 针对Internet ExplorerMSHTML引擎。[8]

PhantomJS 发布后不久,Nicolas Perriault 编写了 CasperJS,这是一套基于 PhantomJS 的库,可扩展其作为自动网页测试客户端的功能,允许用户利用 PhantomJS 创建行为驱动开发测试。CasperJS 的最终版本在2017年發佈。[9]

雅虎开发了一个利用 PhantomJS 收集网站性能指标的 YSlow 版本。[10]

用户

几家著名的公司已经使用了 PhantomJS。

  • Twitter从 2015 年开始使用QUnit和 PhantomJS 进行单元测试。[11]
  • 自 2011 年起,LinkedIn使用基于 PhantomJS 的工具进行性能测试。[12]
  • 自 2014 年起,Netflix使用 Sketchy(一个使用 PhantomJS 构建的无头浏览器)来了解其網頁的行爲而无需访问该网站。[13]
  • 自 2012 年起,时代华纳有线电视公司将 PhantomJS 与CoffeeScript 、 Jasmine和JUnit XML 一起用于Jenkins持续集成。[14]

参见

参考來源

  1. ^ Release 2.1.1. 2016年1月24日 [2018年7月22日]. 
  2. ^ . GitHub. [2022-03-24]. (原始内容存档于2022-04-21) (英语). 
  3. ^ . GitHub. [2017-04-21]. (原始内容存档于2022-04-09). 
  4. ^ . ariya.blogspot.com. [2015-07-20]. (原始内容存档于2015-07-23). 
  5. ^ . GitHub. [2015-07-20]. (原始内容存档于2022-04-21). 
  6. ^ . ariya/phantomjs. Github. 2018-03-03 [2022-03-24]. (原始内容存档于2022-05-12). 
  7. ^ Laurent Jouanneau. . slimerjs.org. [2015-07-20]. (原始内容存档于2022-03-31). 
  8. ^ . [2015-07-20]. (原始内容存档于2022-04-01). 
  9. ^ . GitHub. [2021-04-11]. (原始内容存档于2022-03-24). 
  10. ^ Marcel Duran. . yslow.org. [2015-07-20]. (原始内容存档于2022-04-27). 
  11. ^ . Twitter. [2015-07-20]. (原始内容存档于2022-04-08). 
  12. ^ phegaro. . SlideShare. [2015-07-20]. (原始内容存档于2021-06-16). 
  13. ^ Michael Mimoso. . threatpost.com. [2015-07-20]. (原始内容存档于2021-06-12). 
  14. ^ . ofilabs.com. [2015-07-20]. (原始内容存档于2015-07-22). 

phantomjs, 是一种已停止開發的无头浏览器, 用于自动化网页交互, 提供了一个javascript, 支持自动模擬鼠標, 屏幕截图, 用户行为和断言, 使其成为用于在无头系统, 如持续集成环境, 中运行基于浏览器的单元测试的常用工具, 基于webkit, 使其成为类似于safari和google, chrome, 在其webkit分支变为blink之前, 的浏览环境, 它是在bsd许可证下发布的开源软件, 開發者ariya, hidayat首次发布2011年1月17日, 12年前, 2011, 目前版本2,. PhantomJS是一种已停止開發的无头浏览器 用于自动化网页交互 PhantomJS 提供了一个JavaScript API 支持自动模擬鼠標 屏幕截图 用户行为和断言 使其成为用于在无头系统 如持续集成环境 中运行基于浏览器的单元测试的常用工具 PhantomJS 基于WebKit 使其成为类似于Safari和Google Chrome 在其WebKit分支变为Blink之前 的浏览环境 它是在BSD许可证下发布的开源软件 PhantomJS開發者Ariya Hidayat首次发布2011年1月17日 12年前 2011 01 17 目前版本2 1 1 2016年1月24日 1 源代码库github wbr com wbr ariya wbr phantomjs编程语言C JavaScript C类型無頭瀏覽器许可协议BSD许可证 2 网站phantomjs wbr org 目录 1 历史 2 用法 3 生态系统 4 用户 5 参见 6 参考來源历史 编辑PhantomJS 经过几年的开发 于 2011年1月23日由 Ariya Hidayat 发布 4 第一次公開提交是在 2011 年 5 PhantomJS 的常用标志是黑色背景上的荧光蓝色幽灵 这是指缺少图形用户界面或浏览器主体 使 PhantomJS 用户看起来像鬼 2018年3月 由于缺乏积极贡献 PhantomJS 的开发暂停 6 用法 编辑PhantomJS的JavaScript API 可用于打开网页 截屏 执行用户操作以及在页面上下文中运行注入的 JavaScript 例如 以下代码将打开英文維基百科 并在加载时将屏幕截图保存到文件并退出 console log 正在載入頁面 var page require webpage create var url http en wikipedia org page open url function status console log 頁面已載入 page render wikipedia org png phantom exit 生态系统 编辑PhantomJS 的影響力之大 以至于类似的项目都采用 API 作为与无头浏览器交互的标准方式 SlimerJS 提供了一个类似 PhantomJS 的 API 但是基于Mozilla的Gecko 浏览器引擎而不是 WebKit 7 類似的專案trifleJS 针对Internet Explorer的MSHTML引擎 8 PhantomJS 发布后不久 Nicolas Perriault 编写了 CasperJS 这是一套基于 PhantomJS 的库 可扩展其作为自动网页测试客户端的功能 允许用户利用 PhantomJS 创建行为驱动开发测试 CasperJS 的最终版本在2017年發佈 9 雅虎开发了一个利用 PhantomJS 收集网站性能指标的 YSlow 版本 10 用户 编辑几家著名的公司已经使用了 PhantomJS Twitter从 2015 年开始使用QUnit和 PhantomJS 进行单元测试 11 自 2011 年起 LinkedIn使用基于 PhantomJS 的工具进行性能测试 12 自 2014 年起 Netflix使用 Sketchy 一个使用 PhantomJS 构建的无头浏览器 来了解其網頁的行爲而无需访问该网站 13 自 2012 年起 时代华纳有线电视公司将 PhantomJS 与CoffeeScript Jasmine和JUnit XML 一起用于Jenkins持续集成 14 参见 编辑 自由软件主题 无头浏览器 官方网站 GitHub 页面存档备份 存于互联网档案馆 参考來源 编辑 Release 2 1 1 2016年1月24日 2018年7月22日 phantomjs LICENSE BSD at master ariya phantomjs GitHub 2022 03 24 原始内容存档于2022 04 21 英语 Releases ariya phantomjs GitHub 2017 04 21 原始内容存档于2022 04 09 don t code today what you can t debug tomorrow ariya blogspot com 2015 07 20 原始内容存档于2015 07 23 ariya phantomjs GitHub 2015 07 20 原始内容存档于2022 04 21 Archiving the project suspending the development ariya phantomjs Github 2018 03 03 2022 03 24 原始内容存档于2022 05 12 Laurent Jouanneau FaQ SlimerJS slimerjs org 2015 07 20 原始内容存档于2022 03 31 trifleJS 2015 07 20 原始内容存档于2022 04 01 CasperJS on GitHub GitHub 2021 04 11 原始内容存档于2022 03 24 Marcel Duran YSlow Official Open Source Project Website yslow org 2015 07 20 原始内容存档于2022 04 27 Leo Lanese on Twitter Twitter 2015 07 20 原始内容存档于2022 04 08 phegaro LinkedIn Mobile How do we do it SlideShare 2015 07 20 原始内容存档于2021 06 16 Michael Mimoso Netflix Open Source Security Tools Solve Range of Challenges threatpost com 2015 07 20 原始内容存档于2021 06 12 one year of wandering headlessly ofilabs com 2015 07 20 原始内容存档于2015 07 22 取自 https zh wikipedia org w index php title PhantomJS amp oldid 71662086, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。