關於 headless browser in Mac OS X

看來最佳解是 PhantomJS - GhostDriver 了 
(參考: 連結一  連結二 連結三

這兩個月都在跑 selenium 做 web testing, 因為想拿到 linode 上去跑於是找到 headless 的做法, 發現在 linux 上安裝 Xvfb, firefox 及設置 DISPLAY 後就好了.
(參考:連結一

可在 mac 上首先安裝 firefox-x11就失敗了. 一開始 port 下載出現錯誤, 出現的錯誤訊息讓我誤認為 port configure file 遺失還是路徑錯誤, 真的很ooxx...

後來網路上搜尋許久, 才了解到在 linux 之所以使用 Xvfb 是因為透過模擬 X-server 取得 graphic interface 後去做 headless. X-server, 或說是 X11, X window system, 在 unix-like 中作為處理 bitmap display 的 windowing system.  然而 Mac OS 10.8 (目前是 10.10 Yosemite) 後使用XQuartz 而不是 X11(X11在系統中仍在只是為了相容性), 所以 Xvfb 自然就無作用了. 
PhantomJS 之所以能做到 headless 是因為它直接 bundle 了 webkit 實現 browser, 自然可以做到 headless.  接下來若是寫 javascript 直接用 PhantomJS, 否則看能否在 Selenium 裡頭調用了. 
(參考:連結一  連結二

turnkey technology: 像鑰匙一樣轉開就可以用的技術 - 可以直接使用的技術.
webkit: 真的很強大啊,  是使用的 browser engine, 有時間來研究一下(筆記ing 
話說 google 在去年 fork 了另一個 project 叫 blink, 連結底下有個推文真中肯啊, 當所有事情都要依據「X」 做標準化時, Google 總是會跳出來自己開一個fork, 導致工程師有更多的測試工作要做, 這叫人怎能不恨它 (茶

Comments

Popular posts from this blog

股票評價(Stock Valuation) - 股利折現模型

openwrt feed的使用

R 語言:邏輯回歸 Logistic Regression using R language (二)