在Centos7下安装Python+Selenium+Firefox学习环境
Selenium 一自动化测试工具。它支持 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。
所以呢,你要用Selenium你必须得先有个浏览器(大多数人没说这点,略坑!),无论是Chrome也好,Firefox也好,你必须得有一个。
安装完浏览器了,抱着愉快的心情用pip3安装了Selenium,在Pyhton交互模式中直接导入Webdriver,创建Webdriver对象报如下错误:
|
1
|
No such file or directory: 'geckodriver' |
这上什么鬼?原来还需要安装浏览器的驱动文件。。。。。。。,下载页面如下,
|
1
|
https://github.com/SeleniumHQ/selenium/blob/master/py/docs/source/index.rst |
记得要下载对应的驱动,Chrome不能用Firefox,Firefox也不能用Chrome的,如果驱动版本错了,会报无法执行的错误,如下
1 OSError: [Errno 8] Exec format error
为何不弄一个所有驱动在一起的?搞不明白。
将下载的驱动文件解压到/usr/bin,或/usr/local/bin下面,也就你的环境变量里在, 如何你直接修改PATH,我认为也是可以的,只要能找到就好了。
到这了,感觉应该可以了吧,不行的,创建对象是没问题了,但是一访问URL,又报错了。。。。。
|
1
|
geckodriver.log Error: GDK_BACKEND does not match available displays |
从geckodriver.log中看到的报错信息,需要一个显示,本来想命令行用,但是却提示需要一个匹配的显示。经过去谷歌搜索得到,需要创建虚拟的显示器。
安装如下软件来创建:
yum install Xvfb libXfont xorg-x11-fonts*
pip3 install pyvirtualdisplay
跳出这些坑,总算是可以正常使用了,测试代码如下:

1 from selenium import webdriver
2 from pyvirtualdisplay import Display
3
4
5 display = Display(visible=0, size=(800,600))
6 display.start()
7 driver = webdriver.Firefox()
8 driver.get("http://www.baidu.com")
9 print driver.page_source

selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities
升级火狐浏览器与selenlum版本一致
在Centos7下安装Python+Selenium+Firefox学习环境的更多相关文章
- 在Centos7上安装Python+Selenium+Firefox+Geckodriver
1.事先准备好Centos7的系统 Centos系统是CentOS Linux release 7.4.1708 (Core) 查看Centos内核版本命令cat /etc/centos-releas ...
- (转)LINUX CENTOS7下安装PYTHON
LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...
- 在Centos7上安装Python+Selenium+Chrome+Chromedriver
1.下载Chrome 上一篇文章已经演示过了Python+Selenium+Firefox+Geckodriver安装步骤并通过自动化脚本打开百度 因此当前只需要安装Chrome和Chromedriv ...
- Centos7下安装python环境
前言 centos7默认是装有pyhton的. #检查python版本 [root@oldboy_python ~ ::]#python -V Python 但是众所周知,python2版本到2020 ...
- Linux Centos7下安装Python
1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Pytho ...
- Centos7下安装python,查看python版本
安装Centos的时候,一般会自带默认安装python2.x 一般用python -V可以查看python版本. 我当时安装的时候,运行了那个语句,但是却显示了一大堆出来,虽然里面也带有版本信息,但是 ...
- CentOS7下安装Python的pip
root用户使用yum install -y python-pip 时会报如下错误: No package python-pip available Error:Nothing to do 解决方法如 ...
- centos7下安装sublime text3并配置环境变量
注意:我解压完把sublime_text全改成了sublime,如果未改就是sublime_text 1.官网下载sublime,保存到指定目录,例如/home 2.解压 tar xjf sublim ...
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...
随机推荐
- ES6介绍二 函数的增强
ES6对于函数的使用新增了很多实用的API,JS的函数跟很多后台语言PHP,ASP.NET开始看齐: 1. 参数默认值: 以前我们为了给函数创建默认值,必须用一种冗杂的语句,而且有歧义的语句. //E ...
- 彻底弄懂jQuery事件原理一
jQuery为我们提供了一个非常丰富好用的事件API,相对于浏览器自身的事件接口,jQuery有以下特点: 1. 对浏览器进行了兼容性处理,用户使用不需要考虑浏览器兼容性问题 2. 事件数据是保持在内 ...
- Beta阶段第2周/共2周 Scrum立会报告+燃尽图 14
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...
- Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 一.小组介绍 组长:刘莹莹 组员:朱珅莹 孙韦男 祝玮琦 王玉潘 ...
- Winform开发之DataGridView事件和属性
DataDridView的事件和属性非常多,一一介绍还是不现实,这里借鉴一下园友和MSDN上的介绍吧 1.C#中 DataGridView 属性说明(转载) 2.MSDN上DataGridView事件 ...
- PyalgoTrade 技术组合计算(四)
可以各种技术可以组合起来.它们被建模为DataSeries.例如,在收盘价之上获得RSI以上的计算SMA,是非常简单的: from pyalgotrade import strategy from p ...
- 這是我既C語言作業寫博客後寫的第一篇博客
這篇博客應該算是寫給我自己的博客吧,所以這裏我想用繁體字寫,因為我漸漸地發現我已經很少使用到繁體字了,日常QQ聊天都使用簡體字,繁體字都懶得切換了,但是為了不讓別人麻煩,在外界交流的時候我會使用簡體字 ...
- 对MYSQL慢查询slow query 日志记录内容的疑惑
初始:由于新装服务器出现CPU占用过高,响应不及时的问题排查,因为环境基于最基础的LAMP构架 想到开启 MYSQL slow_query_log 慢查询日志做原因分析: 但是看到日志内容之后有点茫然 ...
- IO的概念
什么是IO: 在内存中存在数据交换的操作都可以认为是IO操作 和终端交互:input print 和磁盘交互:read write 和网络交互:recv send IO密集型程序:在程序执行过程中存在 ...
- Yii用AJAX注册验证
<script type="text/javascript"> $(document).ready(function(){ $('#RegisterForm_usern ...