說(shuō)點(diǎn)廢話
- 當(dāng)我們正常在界面系統(tǒng)使用selenium時(shí),會(huì)感覺(jué)很爽,因?yàn)槟芮宄目吹轿覀兇a的實(shí)現(xiàn)的過(guò)程,當(dāng)遇到報(bào)錯(cuò),也能相對(duì)來(lái)說(shuō)縮小錯(cuò)誤范圍,一般都能很快的找到問(wèn)題所在;
- 倘若我們想在Linux環(huán)境(無(wú)界面)中使用selenium,雖然在官網(wǎng)可以下載到linux環(huán)境下的chromedriver驅(qū)動(dòng)文件,但是如何配置才能成功運(yùn)行,話不多說(shuō)了,上配置流程吧!
來(lái)點(diǎn)實(shí)貨
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
安裝必要的庫(kù)
yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts
2、安裝 chromedriver(末尾附chrome和chromedriver的對(duì)應(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()
chromedriver下載鏈接:
http://chromedriver.storage.googleapis.com/index.html
------------2019年兼容版本對(duì)照表-----------
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
送點(diǎn)東西
selenium模式
chrome_options.add_argument('--headless') # 無(wú)頭模式,可不啟用界面顯示運(yùn)行
chrome_options.add_argument('--disable-gpu') # 禁用GPU加速
chrome_options.add_argument('--start-maximized')#瀏覽器最大化
chrome_options.add_argument('--window-size=1280x1024') # 設(shè)置瀏覽器分辨率(窗口大?。?/p>
chrome_options.add_argument('log-level=3')
chrome_options.add_argument('--user-agent=""') # 設(shè)置請(qǐng)求頭的User-Agent
chrome_options.add_argument('--disable-infobars') # 禁用瀏覽器正在被自動(dòng)化程序控制的提示
chrome_options.add_argument('--incognito') # 隱身模式(無(wú)痕模式)
chrome_options.add_argument('--hide-scrollbars') # 隱藏滾動(dòng)條, 應(yīng)對(duì)一些特殊頁(yè)面
chrome_options.add_argument('--disable-javascript') # 禁用javascript
chrome_options.add_argument('--blink-settings=imagesEnabled=false') # 不加載圖片, 提升速度
chrome_options.add_argument('--ignore-certificate-errors') # 禁用擴(kuò)展插件并實(shí)現(xiàn)窗口最大化
chrome_options.add_argument('–disable-software-rasterizer')
chrome_options.add_argument('--disable-extensions')
調(diào)用示例
ch_options = webdriver.ChromeOptions()
# 不加載圖片,加快訪問(wèn)速度
ch_options.add_experimental_option("prefs", {"profile.mamaged_default_content_settings.images": 2})
# 此步驟很重要,設(shè)置為開(kāi)發(fā)者模式,防止被各大網(wǎng)站識(shí)別出來(lái)使用了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') # 禁用瀏覽器正在被自動(dòng)化程序控制的提示
ch_options.add_argument('--incognito')
browser = webdriver.Chrome(options=ch_options)
寫(xiě)點(diǎn)感想
- 天冷了,注意保暖~
-
世界和平,就這樣..
