問題:
Amazon で Selenium テストを実行するときグラフィカル ユーザー インターフェイス (GUI) のない EC2 インスタンスでは、ユーザーは次のような問題に遭遇する可能性があります。エラー:
Error: cannot open display: :0
Selenium、Firefox、Xvfb などの必要なパッケージをインストールしているにもかかわらず。
解決策:
表示ディスプレイなしで Selenium を実行するには、PyVirtualDisplay または Xvfbwrapper はヘッドレスを提供します
PyVirtualDisplay
from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() # now Firefox will run in a virtual display. # you will not see the browser. 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.
これらのヘッドレス ソリューションを使用すると、GUI 機能のないサーバー上で Selenium テストを正常に実行でき、ヘッドレス環境での自動化とテストが可能になります。
以上が「エラー: ディスプレイを開けません: :0」が発生せずにヘッドレス サーバーで Selenium テストを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。