在做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