ホームページ >バックエンド開発 >Python チュートリアル >EC2 インスタンス上の Xvfb で Selenium ヘッドレスを実行するにはどうすればよいですか?

EC2 インスタンス上の Xvfb で Selenium ヘッドレスを実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-01 09:02:14890ブラウズ

How to Run Selenium Headless in Xvfb on an EC2 Instance?

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

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