如何解決selenium與firefox版本不匹配的問題

在做wechat爬蟲時遇到的問題,整理記錄下:

1.selenium與firefox版本不匹配:

報錯爲 :

selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: /tmp/tmpazh15s If you specified a log_file in the FirefoxBinary constructor, check it for details.

首先需要找到對應的firefox版本:

【Selenium】    -> 【FireFox】

       2.25.0        ->  18
       2.30.0        ->  19
       2.31.0        ->  20
       2.42.2        ->  29
       2.44.0        ->  33 (不支持31)
       2.53.0        ->  43,46(不支持47)
       2.41.0        ->  26(綠色版本)
       2.44          ->  32.0-35.0

然後重新安裝firefox

1.到http://ftp.mozilla.org/pub/firefox/releases/下載相應的安裝包

2.進入存放下載文件(Firefox-latest-x86_64.tar.bz2)的目錄。

# cd /home/***/Desktop

 

3.在該目錄解壓 Firefox-latest-x86_64.tar.bz2。

解壓後會生成一個 firefox 子目錄,裏面有最新版本的 firefox 的二進制可執行文件,以及各種擴展模塊,插件等等。

# tar -xjvf Firefox-latest-x86_64.tar.bz2

3'.由於有時解壓後出來的文件缺少文件(原因不明),可以採用在外部解壓好後,直接拷貝出firefox文件夾的方式。

 

4.刪除系統默認安裝的舊版 firefox ,通常位於 /usr/lib64 目錄下。

# rm -rf /usr/lib64/firefox

 

5.將當前目錄下的新版 firefox 子目錄複製到 /usr/lib64 目錄下。

# mv firefox /usr/lib64

 

6.進入 /usr/bin 目錄,刪除其下的 firefox 腳本。

# cd /usr/bin

# rm firefox

 

7.回到主目錄或根目錄,創建一個軟鏈接,指向/usr/lib64/firefox/firefox。

# cd

# ln -s /usr/lib64/firefox/firefox /usr/bin/firefox

8.查看下最新版本

#firefox -v

 

火狐自動更新禁用

在firefox.exe 所在的目錄中新建文件夾distribution, 在裏面新建一個policies.json文件內空爲:

{
    "policies":{
        "DisableAppUpdate":true
    }
}

然後重裝合適版本的selenium

  • 卸載selenium : pip uninstall selenium
  • 指定版本安裝selenium : pip install selenium==3.3.1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章