如何解决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

你可能感兴趣的:(读书笔记)