Jika Anda menggunakan driver web Selenium dengan Python, Anda dapat menggunakan PyVirtualDisplay, pembungkus Python untuk Xvfb dan Xephyr.
PyVirtualDisplay membutuhkan Xvfb sebagai ketergantungan. Di Ubuntu, instal Xvfb:
sudo apt-get install xvfb
kemudian instal PyVirtualDisplay dari Pypi:
pip install pyvirtualdisplay
Contoh skrip Selenium dalam Python dalam mode tanpa kepala dengan PyVirtualDisplay:
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
# now Firefox will run in a virtual display.
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()
display.stop()
EDIT
Jawaban awal telah diposting pada tahun 2014 dan sekarang kita berada di puncak tahun 2018. Seperti yang lainnya, browser juga telah maju. Chrome memiliki versi yang sepenuhnya tanpa kepala sekarang yang menghilangkan kebutuhan untuk menggunakan perpustakaan pihak ketiga mana pun untuk menyembunyikan jendela UI. Kode sampel adalah sebagai berikut:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
CHROME_PATH = '/usr/bin/google-chrome'
CHROMEDRIVER_PATH = '/usr/bin/chromedriver'
WINDOW_SIZE = "1920,1080"
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE)
chrome_options.binary_location = CHROME_PATH
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH,
chrome_options=chrome_options
)
driver.get("https://www.google.com")
driver.get_screenshot_as_file("capture.png")
driver.close()
driver = webdriver.Firefox()
dalam kode Anda, ikuti jawaban saya di sini: stackoverflow.com/a/23898148/1515819