Xvfb で Selenium を実行する
問題の説明:
Xvfb で Selenium を実行しようとしたときEC2 インスタンスで、ユーザーに次のエラーが発生すると、「ディスプレイを開けません: :0".
解決策:
Xvfb ヘッドレス モードで Selenium を実行するには、Python 用の PyVirtualDisplay または xvfbwrapper を利用します。
PyVirtualDisplayアプローチ:
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') print browser.title browser.quit() display.stop()
Xvfbwrapper アプローチ:
from xvfbwrapper import Xvfb vdisplay = Xvfb() vdisplay.start() # launch stuff inside virtual display here vdisplay.stop()
コンテキスト マネージャーでの xvfbwrapper の使用:
from xvfbwrapper import Xvfb with Xvfb() as xvfb: # launch stuff inside virtual display here # It starts/stops in this code block.
以上がEC2 インスタンス上の Xvfb で Selenium ヘッドレスを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。