【python】linux下使用selenium(環(huán)境部署)

說(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)感想

  • 天冷了,注意保暖~
  • 世界和平,就這樣..


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容