over 4 years ago

首先,headless 這個單字我還是第一次聽到。若不是我同事,我可能需要多花一些功夫才能找到這個 Term。

First Google

參考 Selenium Headless Automated Testing in Ubuntu,要設計 headless 自動化測試,只需要安裝 xvfb,利用它開出一個假桌面即可,相當簡單吧?

有興趣可以自己試試看,但我可沒用過!

Second Google

因為我發現 Python 其實已經有套件把這些事情都完成了。那就是 PyVirtualDisplay。它是基於 Xvfb, Xephyr, Xvnc 的 Display 套件。若要開啟隱形的螢幕,請記得要安裝 Xvfb 喔。

程式範例如下:

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(1024, 786)) # visible = 0 代表使用 xvfb 建立 Display 物件

display.start() # 開始!

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

參考資料

  1. Python - Headless Selenium WebDriver Tests using PyVirtualDisplay
← Docker 小試身手 自動化利器 Ansible 簡介 →
 
comments powered by Disqus