「エラー: ディスプレイを開けません: :0」が発生せずにヘッドレス サーバーで Selenium テストを実行する方法

Patricia Arquette
リリース: 2024-11-19 02:01:02
オリジナル
634 人が閲覧しました

How to Run Selenium Tests on Headless Servers without Encountering

Xvfb での Selenium の実行: ヘッドレス サーバーでの表示エラーのトラブルシューティング

問題:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート