一、在linux中使用selenium
1、安裝chrome
用下面的命令安裝Google Chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
也可以先下載至本地,然后安裝
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm
安裝必要的庫
yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts
2、安裝 chromedriver(末尾附chrome和chromedriver的對應(yīng)版本)
chrome官網(wǎng)
wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
淘寶源(推薦)
wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip
將下載的文件解壓,放在如下位置
unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/
給予執(zhí)行權(quán)限
chmod +x /usr/bin/chromedriver
3、運(yùn)行代碼,查看是否成功(python下)
from selenium import webdriver
driver = webdriver.Chrome()
------------2019年兼容版本對照表-----------
ChromeDriver 78.0.3904.11 (2019-09-12)---------Supports Chrome version 78
ChromeDriver 77.0.3865.40 (2019-08-20)---------Supports Chrome version 77
ChromeDriver 76.0.3809.12 (2019-06-07)---------Supports Chrome version 76
ChromeDriver 75.0.3770.8 (2019-04-29)---------Supports Chrome version 75
ChromeDriver v74.0.3729.6 (2019-03-14)--------Supports Chrome v74
ChromeDriver v2.46 (2019-02-01)----------Supports Chrome v71-73
二、chrome無界面模式運(yùn)行
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')#解決DevToolsActivePort文件不存在的報(bào)錯(cuò)
chrome_options.add_argument('window-size=1920x3000') #指定瀏覽器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文檔提到需要加上這個(gè)屬性來規(guī)避bug
chrome_options.add_argument('--hide-scrollbars') #隱藏滾動(dòng)條, 應(yīng)對一些特殊頁面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加載圖片, 提升速度
chrome_options.add_argument('--headless') #瀏覽器不提供可視化頁面. linux下如果系統(tǒng)不支持可視化不加這條會(huì)啟動(dòng)失敗
#創(chuàng)建瀏覽器對象
driver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)#executable_path:瀏覽器驅(qū)動(dòng)路徑
driver.get(url)
三、無界面模式下下載文件
以前,以無頭模式運(yùn)行的Chromedriver無法正確下載文件,原因是它稀疏地解析提供給它的首選項(xiàng)文件。無頭Chrome團(tuán)隊(duì)的工程師建議使用DevTools的“ Page.setDownloadBehavior”來解決此問題。此變更列表實(shí)現(xiàn)此修復(fù)程序。下載的文件默認(rèn)為當(dāng)前目錄,可以在實(shí)例化chromedriver實(shí)例時(shí)使用download_dir進(jìn)行設(shè)置。還添加了測試以確保正確的下載功能。
params = {'behavior': 'allow', 'downloadPath': r'C:\Users\Debanjan.B\Downloads'}
driver.execute_cdp_cmd('Page.setDownloadBehavior', params)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。