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学习环境的更多相关文章

  1. 在Centos7上安装Python+Selenium+Firefox+Geckodriver

    1.事先准备好Centos7的系统 Centos系统是CentOS Linux release 7.4.1708 (Core) 查看Centos内核版本命令cat /etc/centos-releas ...

  2. (转)LINUX CENTOS7下安装PYTHON

    LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...

  3. 在Centos7上安装Python+Selenium+Chrome+Chromedriver

    1.下载Chrome 上一篇文章已经演示过了Python+Selenium+Firefox+Geckodriver安装步骤并通过自动化脚本打开百度 因此当前只需要安装Chrome和Chromedriv ...

  4. Centos7下安装python环境

    前言 centos7默认是装有pyhton的. #检查python版本 [root@oldboy_python ~ ::]#python -V Python 但是众所周知,python2版本到2020 ...

  5. Linux Centos7下安装Python

    1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Pytho ...

  6. Centos7下安装python,查看python版本

    安装Centos的时候,一般会自带默认安装python2.x 一般用python -V可以查看python版本. 我当时安装的时候,运行了那个语句,但是却显示了一大堆出来,虽然里面也带有版本信息,但是 ...

  7. CentOS7下安装Python的pip

    root用户使用yum install -y python-pip 时会报如下错误: No package python-pip available Error:Nothing to do 解决方法如 ...

  8. centos7下安装sublime text3并配置环境变量

    注意:我解压完把sublime_text全改成了sublime,如果未改就是sublime_text 1.官网下载sublime,保存到指定目录,例如/home 2.解压 tar xjf sublim ...

  9. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

随机推荐

  1. hdu 3699 10 福州 现场 J - A hard Aoshu Problem 暴力 难度:0

    Description Math Olympiad is called “Aoshu” in China. Aoshu is very popular in elementary schools. N ...

  2. MHA-ATLAS-MySQL高可用2

    六,配置VIP漂移 主机名 IP地址(NAT) 漂移VIP 描述 mysql-db01 eth0:192.168.0.51 VIP:192.168.0.60 系统:CentOS6.5(6.x都可以) ...

  3. android中string.xml中%一$s、%1$d等的用法

    %n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置 ...

  4. jquery3.1.1报错Uncaught TypeError: a.indexOf is not a function

    jquery3.1.1报错Uncaught TypeError: a.indexOf is not a function 使用1.9就没有问题,解决办法: 就是把写的代码中: $(window).lo ...

  5. 找到链表的倒数第k个节点 python

    题目:给定一个链表的头节点,输出链表倒数第k个节点的值 分析:最简单的思路就按顺序访问链表节点,得到链表的长度x之后,再次从头节点出发,访问到第x-k+1个节点时,就是链表倒数第k个节点,但是这样的方 ...

  6. python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)

    最近在看机器学习方面的东西,经常遇到需要把某个类型的照片中 RGB 内容读取出来, 在python中照片显示用matplotlib就可以做到,但是导入不同格式的照片,保持出不同格式的照片numpy, ...

  7. 谷歌浏览器怎么调试js 谷歌浏览器调试javascript教程

    谷歌浏览器是一款由谷歌公司开发的浏览器.谷歌浏览器是一款基于其他开源软件所撰写的.下面小编为大家分享一篇谷歌浏览器调试javascript的教程,希望帮助大家 首先我们打开开发者工具,你可以直接在页面 ...

  8. [BZOJ3470]Freda’s Walk

    bzoj description 雨后的Poetic Island空气格外清新,于是Freda和Rainbow出来散步. Poetic Island的交通可以看作一张\(n\)个点.\(m\)边的有向 ...

  9. Ubantu 网卡绑定固定IP

    # The primary network interface auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.1 ...

  10. 搜索引擎Lucene之皮毛

    一.Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索 ...