Maison >développement back-end >Tutoriel Python >Comment exécuter Selenium Headless dans Xvfb sur une instance EC2 ?

Comment exécuter Selenium Headless dans Xvfb sur une instance EC2 ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-01 09:02:14843parcourir

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

Exécuter Selenium dans Xvfb

Description du problème :

Lors de la tentative d'exécution de Selenium dans Xvfb sur une instance EC2, les utilisateurs rencontrent une erreur : "Impossible d'ouvrir l'affichage : :0".

Solution :

Pour exécuter Selenium en mode sans tête Xvfb, utilisez PyVirtualDisplay ou xvfbwrapper pour Python.

PyVirtualDisplay Approche :

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()

Approche Xvfbwrapper :

from xvfbwrapper import Xvfb

vdisplay = Xvfb()
vdisplay.start()

# launch stuff inside virtual display here

vdisplay.stop()

Utilisation de xvfbwrapper avec un gestionnaire de contexte :

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    # launch stuff inside virtual display here
    # It starts/stops in this code block.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn