封尘网

让学习成为一种习惯!

ubuntu和windows7下配置Selenium和Chromedriver

最近在学习Python的爬虫,所以也就接触到Selenium。主要是想让它模拟浏览器访问网站时获取一个脚本。

Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
本次记录ubuntu16.04和windows7两个环境的配置,因为工作中经常在这两个环境中使用。

Windows7下安装过程:
1、检查chrome的版本:
浏览器输入:chrome://version/ 第一行就是版本了

2、找到ChromeDriver对应的版本:

https://chromedriver.storage.googleapis.com/2.30/notes.txt

查找ChromeDriver 哪个版本适合你的chrome版本:

下载地址:http://chromedriver.storage.googleapis.com/index.html

根据我的版本,我应该下载2.30版本的,这里下载两个,一个是chromedriver_win32.zip在Windows7下使用,另一个chromedriver_linux64.zip是在linux下使用。

首先安装selenium插件;因为我都是使用python3.5.2版本。所以我直接在pychram里找到我的Python安装目录:

C:\Users\Administrator\AppData\Local\Programs\Python\Python35

直接把上面下载的chromedriver_win32.zip解压后得到的chromedriver.exe复制到此目录即可。这样就可以使用selenium来启动chrome浏览器。

from selenium import webdriver 
driver = webdriver.Chrome() 
url = 'http://www.58jb.com' 
driver.get(url) 
driver.close()

如果要使用firefox浏览器的话就要使用另一个插件了;52.2.1

https://github.com/mozilla/geckodriver/releases

我下载的是最新版的:v0.18.0,同样把geckodriver-v0.18.0-win64.zip包解压出来的文件复制到上面Python3的安装目录下即可。

from selenium import webdriver 
driver = webdriver.Firefox() 
url = 'http://www.58jb.com' 
driver.get(url) 
driver.close()

如果有这样的情况,很可能是下载的插件版本不相匹配:

selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities

这样就实现了在Windows7 下安装selenium和chromedriver、geckodriver了。

接下来在ubuntu环境下配置;

因为ubuntu默认是有两个版本的python,同样我也是在pycharm里配置使用python3的版本。

pip3 install selenium

默认系统是没有chrome浏览器的,需要自己安装。如果使用系统自带的firefox,可能版本不同,需要下载旧的geckodriver,为了软件保持新版,我更新了一下系统的软件,现在的firefox版本:54.0 ,我就直接下载geckodriver-v0.18版本。把解压出来的文件复制到/usr/bin/中即可。

如果要使用chrome浏览器的话就要手动安装:

wget http://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 

sudo dpkg -i google-chrome-stable_current_amd64.deb

安装完后发现Chrome的图标显示为问号“?”。主要是依赖缺失。

解决方法:通过运行如下命令安装缺失依赖:

sudo apt-get -f install

同样要使用chrome就要下载那个chromedriver插件,跟上面的版本一样即可,2.30,同样解压文件到/usr/bin/目录下即可。