在Centos7上安装Python+Selenium+Firefox+Geckodriver
1.事先准备好Centos7的系统
Centos系统是CentOS Linux release 7.4.1708 (Core)
查看Centos内核版本命令cat /etc/centos-release
前提:centos7安装了GUI图形化界面
在命令行下输入
# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
更新系统运行级别
# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
重启系统
# reboot
系统重启后直接进入图像化界面
2.安装好的Centos系统目前自带python
查看python版本,python -V
python版本为python2.7
3.安装selenium
官网地址下载:https://pypi.python.org/pypi/selenium#downloads
百度云下载地址:https://pan.baidu.com/s/1vSEySh-HNRRw1XR75zizzQ(密码:id41)
下载到本地电脑后可通过Xftp软件传输到centos7系统中
随后进行解压:tar zxvf selenium-3.0.2.tar.gz
进入:cd selenium-3.0.2
安装:python setup.py install
4.安装Firefox
centos7自带火狐版本,无需安装,查看当前火狐版本为60.1.0(64位)
5.安装Geckodriver
由于我们自动化脚本调用Firefox,所以需要调用Geckodriver来驱动火狐浏览器,同样如果安装的为谷歌浏览器也需要chromedriver,谷歌浏览器和驱动版本有个对应表,下个文章详细说
官网地址:https://github.com/mozilla/geckodriver/releases
百度云地址:https://pan.baidu.com/s/1oVNlAVatfUzhjynOUqIyCg(密码:au6a)
下载到电脑后同样可以通过Xftp软件传输到centos7上
随后进行解压:tar zxvf geckodriver-v0.11.1-linux64.tar.gz
最重要的一步是需要将解压后的移到/usr/local/bin目录下,所以:mv geckodriver /usr/local/bin
6.验证效果
创建一个.py的文件
touch ceshi.py
vim ceshi.py
输入以下内容
# -*- coding:utf-8 -*-
driver = webdriver.Firefox()
driver.get('http://www.baidu.com/')
driver.quit()
随后python ceshi.py,成功打开火狐,并打开百度网站
7.升级Python版本
由于当前主流的都为python3版本,因此我们需要升级python版本
查看当前python版本
(1)获取python3x的官方软件包
wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz
(2)解压该软件包
tar -zxvf Python-3.5.4.tgz
(3)在解压目录下进行安装配置
cd Python-3.5.4
./configure
(4)编译并安装
make
make install
(5)验证当前系统下安装的python版本号
(6)备份原有配置,设置python默认版本号为3x
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
(7)配置相应的yum与yum install
1 # vi /usr/bin/yum
2 # vi /usr/libexec/urlgrabber-ext-down
3 //如下头部文件修改为老版本即可
4 !/usr/bin/python2.7
8.升级Selenium
由于python版本已升级,因此我们也需要升级selenium版本,执行命令
pip install -U selenium
升级完成,版本为selenium-3.13
9.验证升级是否成功
创建一个.py的文件
touch ly.py
vim ly.py
输入以下内容
# -*- coding:utf-8 -*-
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
driver.close()
随后python ly.py,发现报错,提示
经过查阅大量资料发现我们之前在安装selenium的时候默认是安装在/usr/lib/python2.7/site-packages目录中的,而现在用的是python3,查看/usr/local/lib/python3.5/site-packages目录并没有
发现selenium文件夹。
解决方法:
(1)将selenium文件夹整体从/usr/lib/python2.7/site-packages目录移到/usr/local/lib/python3.5/site-packages
(2)重新安装selenium至python3相应文件夹中(本人不会,所以用了第一种方法)
最后成功运行
在Centos7上安装Python+Selenium+Firefox+Geckodriver的更多相关文章
- 在Centos7上安装Python+Selenium+Chrome+Chromedriver
1.下载Chrome 上一篇文章已经演示过了Python+Selenium+Firefox+Geckodriver安装步骤并通过自动化脚本打开百度 因此当前只需要安装Chrome和Chromedriv ...
- 在Centos7下安装Python+Selenium+Firefox学习环境
Selenium 一自动化测试工具.它支持 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测 ...
- 在 Ubuntu 18.04 /centos7上安装 Python 3.7
扩展源安装 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsn ...
- (转)LINUX CENTOS7下安装PYTHON
LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- 在 CentOS7 上安装 zookeeper-3.4.9 服务
在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...
- 在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- 在 CentOS7 上安装 MySQL5.7
在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...
- 在 CentOS7 上安装 Tomcat9
在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...
随机推荐
- Kotlin 简单使用手册
在昨天和做android的前辈一番交谈后,觉得很惭愧,许多东西还只是知其然而不知其所以然,也深感自己的技术还太浅薄.以后要更加努力地学习,要着重学习原理.方法论,不能只停留在会用的阶段. 今天又要献丑 ...
- 微信网页授权多次回调code请求
最近在做微信网页授权的时候遇到一个问题如果直接从后台把微信授权的url参数什么的拼装好,然后直接redirect 这个url 会导致时不时的多次请求回调的url .网上说是因为网络原因,如果10s没有 ...
- 一言不合就开始搞JDK源码
Java是一门面向对象的编程语言,那什么是面向对象呢,下面将是历史上最通俗易懂的解释了,请看下图: 哈哈,解释的够清楚的了吧.闪. 从源码学编程的好处 学Java编程时,最好同时看一些Java的源码 ...
- 微信小程序--投票小程序设计与实现(图片、视频发布、分组、审核、排名)
投票微信小程序设计与实现(图片.视频发布.分组.审核.排名) 之前接到一个需求,设计一个类似H5 投票系统之类的小程序,我绞尽脑汁,冥思苦想,最后终于做了出来. 再次感谢 @文晓港 的ColorU ...
- linuix查端口
根据进程pid查端口:netstat -nap | grep pid 根据端口port查进程:netstat -nap | grep port 根据pid查找文件的启动位置 ps aux | gre ...
- BPOS关于“相邻库存查询”的调整
"相邻库存查询"的应用场景:主要是实现门店间,相互查看商品库存状况,但出于公司对门店的查看权限控制要求,不能一次性查看到相关店铺的所有库存,所以产生了"相邻库存查询&qu ...
- fastjson复现项目代码
详情请见:https://www.cnblogs.com/yunmuq/p/14268028.html 以下是代码 // FastjsonDemo.java package test; import ...
- 【对线面试官】Java 反射&&动态代理
// 抽象类,定义泛型<T> public abstract class BaseDao<T> { public BaseDao(){ Class clazz = this.g ...
- 服务器报错"您的主机中的软件中止了一个已建立的连接"
网上很多的说法都模棱两可,只是说和远程连接有关,这个说的太泛泛了. 我现在遇到的问题是java web出现的, 执行表单提交的时候出现该错误,原因是ajax和表单同时提交导致的, 相信很多朋友用了aj ...
- SpringBoot同时接收单个对象和List<object>参数
最近做项目的有个需求,是把多个文件移动到另一个文件夹下,这需要把 新的文件夹id -- Long类型 多个文件的信息 -- List< Object > 类型 这两个参数传给后台,我的后台 ...