linux環境下安裝selenium(python3)


說點廢話

  • 當我們正常在界面系統使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM