如何擷取網頁畫面使用selenium在command line


這邊主要介紹,如何使用Selenium來擷取網站的畫面。
實作的方式是在一台Ubuntu Server沒有安裝Xwindow的機器上,編寫Python的程式來執行。

第一步:先安裝下列套件:
 sudo apt install xvfb xserver-xephyr firefox


第二步:透過python pip來安裝selenium
 sudo pip install selenium

第三步:安裝PyVirtualDisplay


 sudo pip install pyvirtualdisplay

第四步:建立一個1920x1080x24bit的虛擬螢幕
 sudo Xvfb :10 -ac -screen 0 1920x1080x24 &

sudo export DISPLAY=:10

第五步:範例程式,執行www.tradingvalley.com網站頁面抓取
 from pyvirtualdisplay import Display
 from selenium import webdriver

 display = Display(visible=10, size=(1920, 1080))
 display.start()

 browser = webdriver.Firefox(executable_path='/root/geckodriver')
 browser.get('http://www.tradingvalley.com')
 #browser.execute_script("")
 print browser.title
 time.sleep(5)
 browser.save_screenshot('tradingvalley.png')
 browser.quit()
 display.stop()





留言

這個網誌中的熱門文章

如何關閉nouveau-kernel-driver,解決無法安裝Nvidia driver問題

如何在Nginx所設置的Proxy中可以取得真實客戶的IP位址

如何客製VMware ESXi安裝光碟(加入Realtek驅動程式)