Xvfb 虛擬現實庫 之 Python 虛擬桌面 pyvirtualdisplay
如何在Xvfb中執行Selenium?:https://cloud.tencent.com/developer/ask/107705
Is there a Windows equivalent to PyVirtualDisplay:https://stackoverflow.com/questions/43270513/is-there-a-windows-equivalent-to-pyvirtualdisplay
PyVirtualDisplay 官方文件:https://pyvirtualdisplay.readthedocs.io/en/latest
Pypi 地址:https://pypi.org/project/PyVirtualDisplay
Selenium Headless Firefox WebDriver using PyVirtualDisplay:https://www.vionblog.com/selenium-headless-firefox-webdriver-using-pyvirtualdisplay
三十一 Python分散式爬蟲打造搜尋引擎Scrapy精講—chrome谷歌瀏覽器無介面執行、scrapy-splash、splinter
https://www.cnblogs.com/meng-wei-zhi/p/8182777.html
Xvfb是流行的虛擬現實庫,可以使很多需要圖形介面的程式虛擬執行。pyvirtualdisplay 是該庫的 python 封裝。
selenium 驅動瀏覽器需要開啟瀏覽器,而瀏覽器需要圖形化介面。如果你在 liunx 伺服器上直接執行肯定會報錯,所以可以使用 pyvirtualdisplay 虛擬一個顯示器
如何在linux命令列無介面下,使用selenium進行自動化測試
配置方法:
1.安裝 Xvfb 和 pyvirtualdisplay
yum install xorg-x11-server-Xvfb
pip install pyvirtualdisplay
2.安裝firefox和selenium
yum install firefox 或者 yum -y install firefox
pip install selenium
下載 selenium 對應 Chrome 或者 firefox 的驅動,到這裡。環境就配置好了。接下來就可以上程式碼了。
3.示例程式碼
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(900, 800))
display.start()
driver = webdriver.Firefox()
driver.get('http://www.haosou.com')
print(driver.title)
driver.quit()
display.stop()
ubuntu示例
pip install pyvirtualdisplay
sudo apt-get install xvfb
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 800))
display.start()
driver = webdriver.Chrome()