2011-07-04 36 views

回答

7

可以使用硒的webdriver和pyvirtualdisplay(使用XVFB)的組合在一個虛擬顯示屏和抓取屏幕截圖運行瀏覽器。

所以,你需要的設置是:

  • 硒Python綁定
  • pyvirtualdisplay Python包(取決於XVFB)

在Debian/Ubuntu的Linux系統,你可以設置一切與:

  • $ sudo apt-get install python-pip xvfb
  • $ sudo pip install selenium

一旦你擁有了它的設置,下面的代碼示例應該工作:

#!/usr/bin/env python 

from pyvirtualdisplay import Display 
from selenium import webdriver 

display = Display(visible=0, size=(800, 600)) 
display.start() 

browser = webdriver.Firefox() 
browser.get('http://www.google.com') 
browser.save_screenshot('screenie.png') 
browser.quit() 

display.stop() 

這將:

  • 推出了虛擬顯示
  • 推出Firefox瀏覽器
  • 導航到google.com
  • 捕獲截圖
  • 關閉瀏覽器
  • 停止虛擬顯示
+0

非常感謝@Corey戈德堡) – sultan

+0

@科裏 - 戈德堡,我們如何降低圖像質量?圖像質量非常高,重量很大 – Max

+0

Max,我認爲它不是可配置的(afaik),但是您可以通過後期處理程序輕鬆運行圖像來完成此操作。 –