1. 程式人生 > >Xvfb 虛擬現實庫 之 Python 虛擬桌面 pyvirtualdisplay

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()