これまでXvfb
を別途立ち上げて、DISPLAY=
で指定していたが、pythonから直接Xvfbを起動終了する方法を知りました。
sudo apt install -y xvfb
pip3 install xvfbwrapper
from selenium import webdriver
# Xvfbの準備
from xvfbwrapper import Xvfb
display = Xvfb()
display.start()
# FirefoxがXvfb上で起動するため画面には映らない。
driver = webdriver.Firefox()
driver.get('https://www.google.co.jp')
# きちんと表示できているかをtitle値を確認
print(driver.title)
# ブラウザを閉じる
driver.quit()
# Xvfbを終了
display.stop()