我想知道是否可以在服務器端運行瀏覽器(特別是瀏覽器引擎)。我不只是要渲染一個頁面,而是讓瀏覽器保持打開一段時間,運行一些JS,做一些點擊或按下一些鍵,同時抓住圖形輸出。服務器端瀏覽器
有誰知道如何做到這一點?到目前爲止,我唯一的想法是在VNC,RDP等會話中運行瀏覽器,但這對我來說似乎是一種矯枉過正。
我想知道是否可以在服務器端運行瀏覽器(特別是瀏覽器引擎)。我不只是要渲染一個頁面,而是讓瀏覽器保持打開一段時間,運行一些JS,做一些點擊或按下一些鍵,同時抓住圖形輸出。服務器端瀏覽器
有誰知道如何做到這一點?到目前爲止,我唯一的想法是在VNC,RDP等會話中運行瀏覽器,但這對我來說似乎是一種矯枉過正。
PhantomJS做你所描述的。它基本上是一個無頭瀏覽器 - http://phantomjs.org/
你可以通過任何服務器端語言運行它的服務器端。請參閱下面一些集成模塊和的NodeJS PHP
的NodeJS
https://npmjs.org/package/node-phantom
https://github.com/sgentle/phantomjs-node
PHP
非常感謝 - 我認爲這對我很有幫助 –
是的,它很可能在服務器上運行Web瀏覽器。例如Ubuntu Server可以通過簡單地安裝firefox和xserver來運行firefox。
$ sudo apt-get install firefox
$ sudo apt-get install xserver-xorg
然後讓Firefox中運行類型:
$ X
這會留下一個空白的屏幕,因爲有在顯示器上運行還沒有應用。您需要使用Ctrl-Alt-F2鍵切換回新終端。 Ctrl-Alt-F1現在保存X進程。
登錄到新終端並將環境的顯示變量設置爲0並啓動firefox。
$ export DISPLAY=:0
$ firefox &
Firefox現在應該正在運行,但你會注意到它有一些怪癖。如果你決定要繼續這樣做,你應該安裝一個窗口管理器。我會使用一個輕量級的平鋪窗口管理器並運行firefox,並且任何其他應用程序都需要該窗口管理器中的圖形輸出。
非常感謝您的回答,但我正在尋找更多的無頭瀏覽器來呈現圖像以供進一步處理。 –
這是你想要做的不是很明顯我。 「瀏覽器和瀏覽器引擎」是什麼意思? – askewchan
我想在服務器上渲染一個網站,以便稍後將它分發給幾個html5/JavaScript應用程序。使用「瀏覽器和瀏覽器引擎」我的意思是我並不需要運行整個瀏覽器(例如包括附加組件或UI),但包含JS引擎的瀏覽器引擎是非常重要的。 –
有一些測試套件可以運行無頭webkit,就像zombiejs http://zombie.labnotes.org/也許這會幫助你解決你的問題? – VKen