记录我Mac上一波三折的Selenium与Python环境搭建。
若有大神对于其中出现的问题有更好的见解及策略,望请不吝赐教。
网上众多教程针对Windows,幸运地在逼乎上看到了一篇回答(已感谢答主:单芸峰)。
一 下载pip (Python包管理工具)
在这一步便出现了问题,不知为何无论点击File中任何一个下载,仅1M大小的文件始终中途便结束,之后我翻墙依然下载失败。诡异的是,我再翻回来又下载成功了……
二 下载PyCharm (Python开发环境)
由于之前接触了一点Python,Mac中已有该IDE。值得一提的是广大高校莘莘学子,不要再处心积虑翻江倒海抓破头皮地去找破解版注册机验证码什么了!只要一个大学邮箱!全套JetBrains免费带回家!JetBrains大法好!
三 下载Firefox
Selenium默认浏览器为Firefox,其它浏览器需要下载第三方Drive。
四 安装步骤
解压pip,在命令行中cd至pip文件夹路径(拖入该文件夹即可快速定位),回车后再输入:
sudo python setup.py install
攻略中第2步执行
sudo easy_install pip
,网上一说esay_install并非必要安装的,我在安装的时候此处也出现了一定问题,便先尝试第3步;在终端输入
sudo pip install -U selenium
在这一步终端又报错,查看错误信息『operation not permitted』,可是原教程中并没有提到这样的情况。无奈继续问路。
于是万能的逼乎又站了出来(已感谢答主:DreamPiggy),在他的回答中提到:
OS X El Capitan中,在内核下引入了Rootless机制,以下路径:
/System
/bin
/sbin
/usr (except /usr/local)
均属于Rootless范围,即使root用户无法对此目录有写和执行权限,只有Apple以及Apple授权签名的软件(包括命令行工具)可以修改此目录。
关于Rootless更具体的说明,在他的另一篇回答中有更加详细的介绍。
答主在科普之后不忘给我等凡人指明了一条生路:开机按住Command + R
进入恢复模式,然后在终端中输入csrutil disable
,以此关闭System Integrity Protection。
关闭后回来再次尝试sudo pip install -U selenium
,可喜可贺终于成功。然而别忘记把膨胀的权力收回到笼子里,再次重新启动按住Command + R
回到恢复模式,通过csrutil enable
重新激活SIP。
正当我为自己站在巨人肩膀上的感觉大快人心时,打开PyCharm运行示例代码,却始终提示无法查找到包,尝试了多种方法后无奈又要问路。
在一篇博客中(终于不是逼乎了)解释了这种情况:
Mac 自带安装了两个Python程序包,一个是2.6一个是2.7的。
一看目录,果不其然。
在他提出的三种解决方案中我选择重建一个新项目,版本改为2.7(看这名字就知道我到后面有多焦虑了)。
最后,折腾结束了。
附一个Selenium+Python自动化测试的教程。正在学习中,感觉还可以,就是错别字有点多。(这个链接也是某乎上看到的……)