一、概述
一般Selenium是在windows系統跑的,但是由於性能問題,需要在linux服務器中運行,效率更高。
這里以centos 7.6系統來演示,如何一步步安裝。
二、安裝Chrome
下載
訪問下載頁面:https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linux
由於是centos 7.6系統,需要下載google-chrome-stable_current_x86_64.rpm,點擊Download下載。
如果你是ubuntu系統,需要上面的deb文件。
下載完成后,將rpm文件上傳到linux服務器。
安裝Chrome
yum install -y google-chrome-stable_current_x86_64.rpm
安裝必應的庫
yum install -y mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts
查看版本
# google-chrome --version Google Chrome 85.0.4183.121
可以看到版本為:85.0.4183.121
安裝 chromedriver
訪問淘寶源:https://npm.taobao.org/mirrors/chromedriver
由於我安裝的版本是:85.0.4183.121,那么大版本對應的是85.0.4183。從上圖中,可以看到3個。
但是小版本是121,上面並沒有。所以,我只能選擇較大的一個,也就是87
進入頁面后,下載文件chromedriver_linux64.zip
將文件上傳到linux服務器中,解壓。解壓之后,會得到一個文件chromedriver,它就是瀏覽器驅動了。
將它copy到/usr/bin目錄中,命令如下:
unzip chromedriver_linux64.zip
cp chromedriver /usr/bin/
三、測試
由於linux已經編譯安裝好了python3,安裝selenium模塊
pip3 install selenium
編寫測試腳本,訪問百度
from selenium import webdriver option = webdriver.ChromeOptions() # 無頭模式 option.add_argument('headless') # 沙盒模式運行 option.add_argument('no-sandbox') # 大量渲染時候寫入/tmp而非/dev/shm option.add_argument('disable-dev-shm-usage') # 指定驅動路徑 browser = webdriver.Chrome('/usr/bin/chromedriver',options=option) # 訪問百度 browser.get('http://www.baidu.com/') # 打印標題 print(browser.title) # 關閉瀏覽器 browser.quit()
執行腳本,輸出:
百度一下,你就知道
注意:這里只是打印了標題,如果需要打印整個網頁,可以使用
print(browser.page_source)
本文參考鏈接:
https://www.cnblogs.com/han20180705/p/10193753.html
https://cloud.tencent.com/developer/article/1404558