Maison > développement back-end > Tutoriel Python > Comment exécuter Selenium Headless à l'aide de Xvfb sur Amazon EC2 ?

Comment exécuter Selenium Headless à l'aide de Xvfb sur Amazon EC2 ?

Linda Hamilton
Libérer: 2024-11-26 10:01:09
original
187 Les gens l'ont consulté

How to Run Selenium Headless Using Xvfb on Amazon EC2?

Exécuter Selenium Headless à l'aide de Xvfb sur Amazon EC2

Vous essayez d'exécuter Selenium sur une instance Amazon EC2 où aucune interface graphique n'est présente. Après avoir installé les packages nécessaires et lancé Xvfb, vous rencontrez l'erreur "Erreur : impossible d'ouvrir l'affichage : :0" lors de l'exécution de votre code. Cette erreur provient de l'absence d'affichage graphique sur l'instance EC2.

Pour résoudre ce problème, pensez à utiliser PyVirtualDisplay ou xvfbwrapper, qui vous permettent de lancer Selenium dans un environnement d'affichage virtuel. Ces modules créent un serveur X sans tête, permettant aux tests WebDriver de s'exécuter sans interface graphique physique.

Méthode 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()
Copier après la connexion

Cet extrait de code utilise PyVirtualDisplay pour lancer un serveur X sans tête. environnement d'affichage virtuel. Dans cet environnement, le navigateur Firefox est lancé et accède à une URL spécifiée. Après avoir accédé au titre de la page, le navigateur se termine et l'affichage virtuel est fermé.

Méthode Xvfbwrapper

from xvfbwrapper import Xvfb

vdisplay.start()

browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

vdisplay.stop()
Copier après la connexion

Ce code utilise Xvfbwrapper pour démarrer un affichage virtuel . De la même manière que dans l'exemple PyVirtualDisplay, un navigateur Firefox est lancé dans l'affichage virtuel, les pages sont visitées et le navigateur et l'affichage sont arrêtés.

Méthode Context Manager

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    browser = webdriver.Firefox()
    browser.get('http://www.google.com')
    print browser.title
    browser.quit()
Copier après la connexion

Cette méthode utilise un gestionnaire de contexte pour démarrer et arrêter automatiquement l'affichage virtuel. Dans le bloc contextuel, un navigateur Firefox est lancé, les pages sont visitées et le navigateur est fermé.

En adoptant ces méthodes, vous pouvez exécuter de manière transparente des tests sans tête Selenium sur les instances Amazon EC2 sans interface graphique, permettant ainsi des tests automatisés. et un déploiement efficace.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal