Bagaimana untuk Menjalankan Selenium Tanpa Kepala Menggunakan Xvfb di Amazon EC2?

Linda Hamilton
Lepaskan: 2024-11-26 10:01:09
asal
129 orang telah melayarinya

How to Run Selenium Headless Using Xvfb on Amazon EC2?

Menjalankan Selenium Tanpa Kepala Menggunakan Xvfb pada Amazon EC2

Anda sedang cuba menjalankan Selenium pada contoh Amazon EC2 yang tiada GUI hadir. Selepas memasang pakej yang diperlukan dan memulakan Xvfb, anda menghadapi ralat "Ralat: tidak boleh membuka paparan: :0" semasa melaksanakan kod anda. Ralat ini berpunca daripada kekurangan paparan grafik pada tika EC2.

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan PyVirtualDisplay atau xvfbwrapper, yang membolehkan anda melancarkan Selenium dalam persekitaran paparan maya. Modul ini mencipta pelayan X tanpa kepala, membolehkan ujian WebDriver dijalankan tanpa GUI fizikal.

Kaedah 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()
Salin selepas log masuk

Coretan kod ini menggunakan PyVirtualDisplay untuk memulakan tanpa kepala persekitaran paparan maya. Dalam persekitaran ini, pelayar Firefox dilancarkan dan menavigasi ke URL yang ditentukan. Selepas mengakses tajuk halaman, penyemak imbas ditamatkan dan paparan maya ditutup.

Kaedah Xvfbwrapper

from xvfbwrapper import Xvfb

vdisplay.start()

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

vdisplay.stop()
Salin selepas log masuk

Kod ini menggunakan Xvfbwrapper untuk memulakan paparan maya . Begitu juga dengan contoh PyVirtualDisplay, penyemak imbas Firefox dilancarkan dalam paparan maya, halaman dilawati dan penyemak imbas serta paparan ditamatkan.

Kaedah Pengurus Konteks

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    browser = webdriver.Firefox()
    browser.get('http://www.google.com')
    print browser.title
    browser.quit()
Salin selepas log masuk

Kaedah ini menggunakan pengurus konteks untuk memulakan dan menghentikan paparan maya secara automatik. Dalam blok konteks, penyemak imbas Firefox dilancarkan, halaman dilawati dan penyemak imbas ditutup.

Dengan menggunakan kaedah ini, anda boleh menjalankan ujian tanpa kepala Selenium dengan lancar pada tika Amazon EC2 tanpa GUI, membolehkan ujian automatik dan penggunaan yang cekap.

Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Selenium Tanpa Kepala Menggunakan Xvfb di Amazon EC2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan