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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建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 sys
from splinter.browser import Browser

reload(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环境时遇到的错误的主要内容,如果未能解决你的问题,请参考以下文章

搭建appium环境时遇到的坑

Python + requests + splinter:发出多个并发“get”请求的最快/最佳方法是啥?

python+selenium环境搭建以及遇到的坑

Python3.4:splinter or traceback

启明云端分享|ESP32在开发环境时,常遇到的问题答疑(FAQ)

mac appium python 自动化环境搭建遇到的问题