因为不想用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环境时遇到的错误的更多相关文章

  1. selenium(python)登录时账号密码错误提示语

    selenium(python)登录时账号密码错误提示语的获取 可以用text

  2. hadoop问题锦集(一)-搭建集群环境时的常见问题

    1.没有主机的路由 1.namenode与datanode之间ping不通了 2.防火墙得关闭: ufw status ufw disabled 2. ssh localhost ssh:connec ...

  3. 搭建selenium + Python环境的总结:

    安装Python+Selenium 写博客是一个不错的选择,首先,是担心自己忘掉,其次,可以供大家做一个参考: 其实,这是自己第一次搭建Python环境(之前用了一周的Idle),还是比较容易的吧: ...

  4. Python运行时的常见错误

    1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加冒号(:)(导致 “SyntaxError :invalid syntax”) 2)使用 ...

  5. 安装python包时出现VC++ 错误的解决方案

    方式一 就是按照提示在微软的官网上下载宇宙第一编辑器VS,安装完之后卸载掉就好了. 方式二 下载whl包安装 因为python有很多native的包,不是纯python代码,用了诸如c/c++的代码, ...

  6. 安装Python环境时遇到的问题

    问题描述:An error occurred during the installation of assembly 'Microsoft.VC90.MFC,version="9.0.210 ...

  7. 【Python学习笔记】在OSX下搭建opencv+python环境

    https://jjyap.wordpress.com/2014/05/24/installing-opencv-2-4-9-on-mac-osx-with-python-support/ 参照以上b ...

  8. sublime text2 配置php本地环境时遇到的错误。

    首先,将PHP加到电脑的环境变量中如图(D:\PHPEnv\PHP5是我PHP的安装目录): 第二步:添加编译系统配置 第三步:配置详情: { "cmd": ["php. ...

  9. 配置caffe的python环境时make pycaffe提示fatal error: numpy/arrayobject.h No such file or directory解决方法

    重装numpy: sudo pip uninstall numpy sudo pip install numpy 是没有用的... 解决的办法就是: sudo apt-get install pyth ...

随机推荐

  1. 状压dp-poj-1170-Shopping Offers

    题目链接: http://poj.org/problem?id=1170 题目意思: 购物车里有b种(0=<b<=5)物品,每种物品告诉物品代号c(1=<c<=999),数量为 ...

  2. Java实现文件的预览

    最近项目需要用到文件的预览功能,就开始在网上收集资料,学习了几种文件预览的方法.我集成到我项目内测试的有以下三种,最后使用的是第三种: 直接使用别人提供的服务 例如:office web 365 使用 ...

  3. Cocoa Touch 层

    Cocoa Touch层包含创建 iOS应用程序所需的关键框架.上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础.在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能 ...

  4. 【转】Android onTouch()和onTouchEvent()区别

    1.onTouch()方法: onTouch方式是View的OnTouchListener接口中定义的方法. 当一个View绑定了OnTouchListener后,当有Touch事件触发时,就会调用o ...

  5. JSP具体篇——out

    out对象 out对象用于在web浏览器上输出信息,而且管理应用server上的输出缓冲区.在使用out对象输出数据时.能够对数据缓冲区进行操作.及时清除缓冲区中残留的数据.为其它输出让出缓冲空间. ...

  6. uva 317 - Hexagon(规律推导)

    题目连接:317 - Hexagon 题目大意:在一个19个六边形组成的图形上玩一个游戏,给出9个数字, 分成3组, 分别可以填在左上角, 上, 有上角,因为对于小六边形来说, 对边的数是相同的, 然 ...

  7. 使用JDK自带缓存(Cache)实现Cookie自动登陆

    自定义一个缓存类AdminCache package jw.admin.common; import jw.base.entity.Admin; import sun.security.util.Ca ...

  8. C#进程启动实例

    1.调用widnows资源管理器打开文件夹 private void OpenFolder(string folder) { System.Diagnostics.Process.Start(&quo ...

  9. android SQLite使用SQLiteOpenHelper类对数据库进行增删查改

    一个简单的例子,当点击按钮时进行相应的操作,效果图如下: 项目代码如下: DatabaseHelper类 package com.example.sqlitedatebasetest; import ...

  10. c 单链表反转(不添加新结点空间)

    最近复习考研,加上一直都将"算法"放在很高的位置,所以,蛮重视算法的.不多说了,其实这个问题,不难理解的. 主要代码: //反转单链表. void reverse(linklist ...