热门问题
时间线
聊天
视角
PhantomJS
来自维基百科,自由的百科全书
Remove ads
PhantomJS是一種已停止開發的無頭瀏覽器,用於自動化網頁交互。PhantomJS 提供了一個JavaScript API,支持自動模擬鼠標、屏幕截圖、用戶行為和斷言,使其成為用於在無頭系統(如持續集成環境)中運行基於瀏覽器的單元測試的常用工具。PhantomJS 基於WebKit,使其成為類似於Safari和Google Chrome(在其WebKit分支變為Blink之前)的瀏覽環境。它是在BSD許可證下發布的開源軟件。
Remove ads
歷史
PhantomJS 經過幾年的開發,於 2011年1月23日由 Ariya Hidayat 發布[3]第一次公開提交是在 2011 年。 [4]
PhantomJS 的常用標誌是黑色背景上的熒光藍色幽靈。這是指缺少圖形用戶界面或瀏覽器主體,使 PhantomJS 用戶看起來像鬼。
2018年3月,由於缺乏積極貢獻,PhantomJS 的開發暫停。[5]
用法
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。[6]類似的專案trifleJS 針對Internet Explorer的MSHTML引擎。[7]
PhantomJS 發布後不久,Nicolas Perriault 編寫了 CasperJS,這是一套基於 PhantomJS 的庫,可擴展其作為自動網頁測試客戶端的功能,允許用戶利用 PhantomJS 創建行為驅動開發測試。CasperJS 的最終版本在2017年發佈。[8]
用戶
幾家著名的公司已經使用了 PhantomJS。
參見
參考來源
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads