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