說點廢話
- 當我們正常在界面系統使用selenium時,會感覺很爽,因為能清楚的看到我們代碼的實現的過程,當遇到報錯,也能相對來說縮小錯誤范圍,一般都能很快的找到問題所在;
- 倘若我們想在Linux環境(無界面)中使用selenium,雖然在官網可以下載到linux環境下的chromedriver驅動文件,但是如何配置才能成功運行,話不多說了,上配置流程吧!
來點實貨
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 -y
安裝必要的庫
yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts -y
還有一個地址也可以下載:
找的chrome資源地址 :https://pkgs.org/search/?q=google-chrome
wget xxx具體需要什么版本
2、安裝 chromedriver(末尾附chrome和chromedriver的對應版本)
chrome官網
wget http://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_linux64.zip
淘寶源(推薦)
wget http://npm.taobao.org/mirrors/chromedriver/83.0.4103.39/chromedriver_linux64.zip
將下載的文件解壓,放在如下位置
unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/
給予執行權限
chmod +x /usr/bin/chromedriver
3、運行代碼,查看是否成功(python下)
from selenium import webdriver
driver = webdriver.Chrome()
chromedriver下載鏈接:
http://chromedriver.storage.googleapis.com/index.html
------------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
送點東西
selenium模式
- chrome_options.add_argument('--headless') # 無頭模式,可不啟用界面顯示運行
- chrome_options.add_argument('--disable-gpu') # 禁用GPU加速
- chrome_options.add_argument('--start-maximized')#瀏覽器最大化
- chrome_options.add_argument('--window-size=1280x1024') # 設置瀏覽器分辨率(窗口大小)
- chrome_options.add_argument('log-level=3')
- chrome_options.add_argument('--user-agent=""') # 設置請求頭的User-Agent
- chrome_options.add_argument('--disable-infobars') # 禁用瀏覽器正在被自動化程序控制的提示
- chrome_options.add_argument('--incognito') # 隱身模式(無痕模式)
- chrome_options.add_argument('--hide-scrollbars') # 隱藏滾動條, 應對一些特殊頁面
- chrome_options.add_argument('--disable-javascript') # 禁用javascript
- chrome_options.add_argument('--blink-settings=imagesEnabled=false') # 不加載圖片, 提升速度
- chrome_options.add_argument('--ignore-certificate-errors') # 禁用擴展插件並實現窗口最大化
- chrome_options.add_argument('–disable-software-rasterizer')
- chrome_options.add_argument('--disable-extensions')
- chrome_options.add_argument('--no-sandbox') #以最高權限運行
- chrome_options.add_argument('--disable-dev-shm-usage')
調用示例
ch_options = webdriver.ChromeOptions()
# 不加載圖片,加快訪問速度
ch_options.add_experimental_option("prefs", {"profile.mamaged_default_content_settings.images": 2})
# 此步驟很重要,設置為開發者模式,防止被各大網站識別出來使用了Selenium
ch_options.add_experimental_option('excludeSwitches', ['enable-automation'])
# ch_options.add_experimental_option("debuggerAddress", "127.0.0.1:9999")
ch_options.add_argument('--proxy--server=127.0.0.1:8080')
ch_options.add_argument('--disable-infobars') # 禁用瀏覽器正在被自動化程序控制的提示
ch_options.add_argument('--incognito')
browser = webdriver.Chrome(options=ch_options)
寫點感想
- 天冷了,注意保暖~
- 世界和平,就這樣..
參考鏈接:https://www.jianshu.com/p/cbc01d32c7b0
安裝中遇到的報錯可參考:https://cloud.tencent.com/developer/article/1404558