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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-19 02:01:02647ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。