您的位置:首页 > Web前端 > JavaScript

ubuntu下安装selenium以及chromedriver、geckodriver和phantomjs等驱动

2017-08-16 20:34 585 查看
环境:

系统 : Ubuntu14.04 64位

谷歌浏览器版本 : chrome60

火狐浏览器版本 : firefox54

做python爬虫,有些数据需要点击页面后才能获取到,因此需要使用selenium来进行一些操作。

selenium安装方法:

pip install selenium


一般来说,selenium用到的浏览器有三个,可视化的有界面的为chrome和firefox,无界面的为phantomjs。其中,phantomjs速度较快,效率较高,但是在测试阶段可能不是那么方便,接下来就介绍一下其他两种driver的安装方法。

首先介绍chromedriver的安装方法:

使用chrome浏览器需要配置好chromedriver,chromedriver有很多版本和浏览器版本需要一一对应,否则无法使用。

查看chrome版本 : 点击浏览器右上角–>关于chromium。

chromedriver 下载地址:链接

根据系统选择对应版本即可。我下的是2.31–>chromedriver_linux64.zip。

如何查看driver和浏览器版本的对应关系 : 最新链接

----------ChromeDriver v2.31 (2017-07-21)----------
Supports Chrome v58-60
----------ChromeDriver v2.30 (2017-06-07)----------
Supports Chrome v58-60
----------ChromeDriver v2.29 (2017-04-04)----------
Supports Chrome v56-58
----------ChromeDriver v2.28 (2017-03-09)----------
Supports Chrome v55-57
----------ChromeDriver v2.27 (2016-12-23)----------
Supports Chrome v54-56


安装方法 :

下载好后,在终端切换到文件所在路径,输入以下几个命令:

tar -xvzf chromedriver_linux64.zip
chmod +x chromedriver
sudo mv chromedriver /usr/bin/
#解压,加上执行权限,移动到/usr/bin/文件夹下。(复制则将mv改为cp)


网上也有另一种,不过意思差不多:

sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
#ln -s 为创建链接


至此,chromedriver安装配置成功。

geckodriver的安装方法

下载地址:链接

我下载的是geckodriver-v0.18.0-linux64.tar.gz .

安装方法与chromedriver类似:

在终端下切换到下载路径下,输入以下命令

tar -xvzf geckodriver*
chmod +x geckodriver
sudo mv geckodriver /usr/local/bin/


至此,geckodriver安装配置成功。

最后,介绍phantomjs的下载以及安装方法:

下载地址:链接

我下载的版本为:phantomjs-2.1.1-linux-x86_64.tar.bz2

安装方法与上面类似。

#切换到下载目录
tar -xvzf phantomjs-2.1.1-linux-x86_64.tar.bz2
#解压后可以看到phantomjs在bin目录下
sudo cp /home/usrname/Downloads/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/
cd /usr/local/bin/
chmod +x phantomjs


至此,phantomjs配置完毕,可以在python下直接使用了。

接下来可以用一小段代码测试一下:

#-*- coding:utf-8 -*-
from selenium import webdriver
driver = webdriver.Chrome()
#driver = webdriver.Firefox()
#driver = webdriver.PhantomJS()
driver.get('http://www.baidu.com')

driver.find_element_by_id('kw').send_keys(u'MoonBreeze的博客')
driver.find_element_by_id('su').click()


如果以上步骤没有错误的话,那么在这一步将可以在浏览器界面看到百度的搜索结果。

如果firefox报如下错误
KeyError: 'sessionId'
,那么升级selenium版本即可。

pip install -U selenium


以上。欢迎交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: