Mac OS下搭建python+selenium环境

哈哈,对于我这个菜鸟,搭建环境的第一步是问度娘,顺利的找到了一篇很给力的文章,基本写的很清楚。链接如下(https://www.zhihu.com/question/30496889)

按照这篇文章给的提示,下载了pip9.0.1的压缩包,解压缩并cd到pip9.0.1文件夹目录下。

接着执行了如下几条命令:

sudo python setup.py install

sudo easy_install pip

sudo pip install -U selenium

pip是一个安装和管理python包的工具,安装pip的命令是sudo python setup.py install。那第二条命令sudo easy_install pip又是做什么呢?

百度后知道,easy_install是老版本的python支持的安装和管理python包的工具,pip是easy_install的替代版。那就理解成用easy_install 安装了pip包。(-  -!!!)

第三条命令就是安装selenium包。

 

对了,还需要安装pyCharm和Firefox,

pyCharm版本:2016.3.2

Firefox版本:51.0.1

 

安装好pyCharm和Firefox后,就可以在pyCharm中创建测试脚本来验证我们搭建的测试环境是否OK啦。

新建一个project,Location不用说了,用来存你新建project的位置。

Interpreter选项一开始没怎么注意,直接选了默认的,结果建好测试脚本后各种报错。这个稍后再介绍。

Mac OS下搭建python+selenium环境_第1张图片

对于Mac OS,自带了两个版本的python,(至少我的系统是这样的)2.6.9和2.7.10版本。

但是在Interpreter选项中,居然还有个2.7.12的版本。查看了这个版本的路径,感觉是自己不知道什么时候装的一个版本。

那到底选哪个版本呢?按照文字一开头给出的那篇文字中的截图看,人家用的是系统自带的2.7.10版本。好吧,那就照猫画虎的选了2.7.10的python解释器。

 

接着,在建好的project中添加python文件,开始写代码。

 

from selenium import webdriver
import time
dr = webdriver.Firefox()
dr.get('http://baidu.com')
time.sleep(5)
print 'Browser will close'
dr.quit()
print 'Browser closed'

 

写入上面代码的时候,第一行就有问题,from后面根本联想不出selenium。

那怎么办呢,然后就是一顿各种百度。看到一篇文章说可能是Interpreter选的不对,那就接着去改Interpreter,在pyCharm的File->Default Settings->Project Interpreter中重新设置。

在这里设置的时候,能看到的信息比一开始新建project的时候要多。可以看到该解释器下包含的Package信息。找了一圈2.7.10版的解释器,发现自己刚刚装的pip、selenium都没有。pip有,但是版本不对,selenium压根没有。再试着切到2.7.12版,你猜怎么的,原来都装这里了。

Mac OS下搭建python+selenium环境_第2张图片

这下清楚点了,看来是因为在装pip和selenium的时候就出问题了,问题就出在系统当前默认使用的python是2.7.12版本,在终端中再次输入python也验证了这个问题。

然后想到的第一个解决办法是把2.7.12版的python删掉,重新安装一次pip、selenium。结果,又是一顿搜索python删除命令,最后还是没有删除成功。

后来想着,那就从开始把安装pip和selenium的命令重新执行一遍,这次试用python2.7.10,于是重新执行了下面命令。

 

sudo  /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 install

sudo easy_install pip

sudo pip install -U selenium

执行的过程中,貌似也有一些报错信息,先忽略啦。赶紧去看pyCharm里的project Interpreter中python 2.7.10的package信息。哈哈,这次pip和selenium都有了。

然后创建工程,选择好解释器,写好测试脚本,运行,还是有错。

Mac OS下搭建python+selenium环境_第3张图片

查看了"/usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py",发现

:param executable_path: Full path to override which geckodriver
    binary to use for Firefox 47.0.1 and greater, which
    defaults to picking up the binary from the system path.

啥意思呢,我理解是,浏览器版本在47.0.1及以上的时候需要提供geckodriver的完整路径,46版本以下的则会调用系统默认的路径。

 

查看了火狐的版本51,只能提供完整了路径了。也不知道系统自带的geckodriver在哪儿,就下了一个。

然后改了下代码,运行就OK了!

Mac OS下搭建python+selenium环境_第4张图片

文章中有些理解可能有误,大家多多指正。

你可能感兴趣的:(python)