Xvfb에서 Selenium 실행
GUI 없이 EC2 인스턴스에서 Selenium 테스트를 실행하려면 Xvfb를 사용하여 가상 프레임 버퍼를 생성해야 합니다.
문제 식별:
Selenium 및 Xvfb를 설치했음에도 불구하고 Selenium을 사용하여 Firefox 브라우저를 시작하면 "디스플레이를 열 수 없습니다: :0" 오류가 발생합니다.
해결책: PyVirtualDisplay 활용
이 문제를 해결하려면 다음을 활용하세요. 헤드리스 WebDriver 테스트를 실행할 수 있는 Xvfb용 Python 래퍼인 PyVirtualDisplay.
다음은 이 접근 방식을 보여주는 Python 스크립트입니다.
from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() # Now Firefox will operate in a virtual display, making it headless. 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 processes within the virtual display here vdisplay.stop()
또는 향상된 코드 구조를 위해 xvfbwrapper를 컨텍스트 관리자로 사용합니다.
from xvfbwrapper import Xvfb with Xvfb() as xvfb: # Launch processes within the virtual display within this code block. # xvfb starts and stops automatically.
위 내용은 Xvfb를 사용하여 EC2 인스턴스에서 헤드리스로 Selenium 테스트를 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!