2
問題是我需要捕獲網站截圖而不運行X服務器。Python Webkit使用虛擬幀緩衝區製作網站截圖
因此,理論上可以創建一個虛擬幀緩衝區並用它來捕捉截圖。
是否有任何類似的解決方案,任何意見將不勝感激?
蘇丹
問題是我需要捕獲網站截圖而不運行X服務器。Python Webkit使用虛擬幀緩衝區製作網站截圖
因此,理論上可以創建一個虛擬幀緩衝區並用它來捕捉截圖。
是否有任何類似的解決方案,任何意見將不勝感激?
蘇丹
可以使用硒的webdriver和pyvirtualdisplay(使用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()
這將:
非常感謝@Corey戈德堡) – sultan
@科裏 - 戈德堡,我們如何降低圖像質量?圖像質量非常高,重量很大 – Max
Max,我認爲它不是可配置的(afaik),但是您可以通過後期處理程序輕鬆運行圖像來完成此操作。 –