問題は、Xサーバーを実行せずにWebサイトのスクリーンショットをキャプチャする必要があることです。
したがって、理論的には、仮想フレームバッファを作成し、それを使用してスクリーンショットをキャプチャすることが可能です。
同様の解決策はありますか、アドバイスをいただければ幸いです。
スルタン
問題は、Xサーバーを実行せずにWebサイトのスクリーンショットをキャプチャする必要があることです。
したがって、理論的には、仮想フレームバッファを作成し、それを使用してスクリーンショットをキャプチャすることが可能です。
同様の解決策はありますか、アドバイスをいただければ幸いです。
スルタン
Selenium 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()
この意志: