centos6.9 安装python3.6.1和Firefox45.0和Xvfb和selenium2.53.6脱坑记录
十分想念顺店杂可。。。
运行环境:
系统: centos6.9
Python版本: Python 3.6.1
前言
由于公司线上服务器以前内存设置的太小,加上MySQL占用内存太高,只能重新弄出来,重新弄台服务器部署,使用docker技术进行管理,centos镜像自己拉 docker部分就不介绍了,由于之前的程序员用的Firefox45.0和selenium2.53.6,然后我就开始填坑之旅.
python3.6.1安装
yum install gcc openssl-devel bzip2-devel
yum install -y wget
cd ~
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
tar zxvf Python-3.6.1
cd Python-3.6.1
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3
make && make install
vi /etc/profile
在末尾加上 export $PATH="/usr/local/python3/bin:$PATH"
rm -rf /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
Xvfb安装
安装命令 yum install -y Xvfb
yum会报错 因为yum用的是python2
修改yum文件 vi /usr/bin/yum
把第一行 #!/usr/bin/python 换成 #!/usr/bin/python2.6
yum就能用的 然后执行上边的安装Xvfb命令
python下用Xvfb 还需要安装pip install xvfbwrapper
Selenium2.53.6安装
直接使用pip install selenium==2.53.6
两个等于号是指定安装的selenium版本
Firefox45.0安装
我有45的安装包拉进去解压,需要的同学可以加群去拿,我放群里了
https://ftp.mozilla.org/pub/firefox/releases/45.0/linux-x86_64/zh-CN/ 网上找的地址不知道能用不能
放在 /usr/local/下解压出来firefox文件夹
创建软链接 ln -s /usr/local/firefox/firefox /usr/bin/firefox
创建完成后测试 firefox -V 会出来版本号 表示成功
但是我要告诉大家没那么简单
没出来版本号会提示你缺少什么依赖包 然后你就去搜吧 yum install 包 开启装包之旅
我出来版本号后 但是我用python代码启动竟然失败了
测试代码如下
# -*- coding: utf-8 -*-
# @Time : 2019/7/8 11:09
# @Author : 甄超锋
# @Email : 4535@sohu.com
# @File : test.py
# @Software: PyCharm
from selenium import webdriver
from xvfbwrapper import Xvfb
xvfb = Xvfb(width=1280,height=720)
xvfb.start()
browser = webdriver.Firefox()
browser.get('http://52sox.com')
title = browser.title
print(title)
print("Clean...")
browser.close()
xvfb.stop()
但是一直报错,错误如下
WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.
然后一直在找原因python和xvfb和selenium肯定是没毛病的,因为之前那个服务器就是这个版本,这样就只剩下firefox了然后开始找Google+百度 从下午1点找到晚上9点…才找到问题,翻到一篇博客看到了我没有装过的几个firefox依赖包.安装后成功了.
需要安装dejavu相关字体:
[root@Z Firefox]yum install dejavu-sans-fonts.noarch dejavu-serif-fonts.noarch
重新执行后,仍然有错误, 需要安装dbus,然后生成机器码:
[root@Z Firefox]yum install dbus
[root@Z Firefox]dbus-uuidgen > /var/lib/dbus/machine-id
这次测试代码重要可以跑通,喜欢请收藏,点赞,关注,谢谢。
pythonQQ交流群:785239887