首页 > 代码库 > 搭建splinter+python环境时遇到的错误

搭建splinter+python环境时遇到的错误

因为不想用urllib2了,没有用过splinter,今天就想试试,毕竟后者支持的功能更人性化/自动化。

1,安装splinter

安装过程很简单,安装了pip的话,执行:

$ [sudo] pip install splinter
或者前往splinter的github页面,下载源码(链接地址:https://github.com/cobrateam/splinter),然后执行:
$ git clone git://github.com/cobrateam/splinter.git$ cd splinter$ [sudo] python setup.py install 

安装过程中需要的依赖库会自动下载,无须担心。

2,安装Chromedriver

因为我需要chrome支持页面测试,所以需要安装chromedriver。安装过程很简单(实际上不需要安装),注意下版本,有些低版本是不支持高版本的chrome的。镜像链接:http://npm.taobao.org/mirrors/chromedriver 。

我是直接把chromedriver.exe扔在在C/windows/system32/文件夹下的,这样就不需要配置环境变量了。

然后我写出了第一行“hello world”,代码如下:

# -*- coding: utf-8 -*-import sysfrom splinter.browser import Browserreload(sys)sys.setdefaultencoding(‘utf8‘)encoding = lambda x:x.encode(‘gbk‘)browser = Browser(driver_name="chrome")browser.visit("https://www.baidu.com")print encoding("测试页面:" + browser.title)browser.quit()

Run一下,报出了如下的信息:

Error message: “‘chromedriver‘ executable needs to be available in the path”
 难道是我忘记把chromedriver.exe加到Path了?但是想了想不应该。因为我是直接把chromedriver.exe放在C/windows/system32/文件夹下面的,所以是不需要在path里加路径。为了慎重起见,我还是在path里加上了“C/windows/system32;”这一条(够蠢的~)。但是一运行报错依旧。

  后面我干脆放弃path了,我使用了绝对路径引用,报错依旧。重启?还是不行。上了stackOverflow查了一下,出现这个问题的人不少,但回答大多数都是建议使用绝对路径,这并没有解决我的问题。就在我放弃splinter,装好selenium的时候,我突然想到,把chromedriver.exe放在script下面试一试?果然,我把chromedriver.exe和我的测试.py放在了相同的路径,运行起来是没有问题的。

  记一下,免得自己忘记。

搭建splinter+python环境时遇到的错误