因为不想用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. C语言---递归反向输出任意长度的字符串

    (该字符串可以包含空格和回车!) [题目要求] 编写一个递归函数,实现将输入的任意长度的字符串反向输出的功能. 例如输入字符串:ABCD,输出字符串:DCBA. [题目分析] 应用递归的思想有时可以很 ...

  2. C++ Primer Plus(第6版)中文版——课后练习程序代码

    博客内容经历了一次整理,以前发的博文太散.没什么水准,搞的随笔分类越来越多orz,这次把CPP这本书的课后练习的程序代码放到一起方便查阅与修改..嗯 9.6.1 #ifndef _9..1_H_ #d ...

  3. [Java] 继承中,父类被覆盖的成员变量、方法的可访问性

    在 Java 的继承机制里,在子类内部,可以访问父类被覆盖的变量和方法:在子类外部,可以访问父类的被覆盖变量,但是不能访问父类的被覆盖方法. 父类中被覆盖的方法不能在外部被方法,这是出于封装的考虑. ...

  4. 本地apt

    Ubuntu建立本地源非常實用,很多服務器在局域網沒有網络或者網络很慢的情況下,或者需要批量安裝同样的軟件的時候,如果每一台服務器都去外網下載,是不是很慢,而且也不是一個運維工程師願意這麼幹的!那有什 ...

  5. 在SQL中用正则表达式替换html标签

    由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉.当然我可以通过写一个程序去修改,那毕竟有点麻烦.直接在查询分析器中执行,但是MS SQL Server并没有 ...

  6. 使用PHPExcel导出数据

    最近要求做增加客流数据等导出为Excel的功能,phpExcel包功能强大,根据实际需求,我只学习了简单的功能. 安装PHPExcel 在composer.json中添加: "require ...

  7. JeeSite 企业信息管理系统基础框架

    1. JeeSite概述 1.1. 简介 JeeSite是一个开源的企业信息管理系统基础框架.主要定位于“企业信息管理”领域,可用作企业信息管理类系统.网站后台管理类系统等.JeeSite是非常强调开 ...

  8. Android实现后台长期监听时间变化

    1.首先我们的目的是长期监听时间变化,事实上应用程序退出. 通过了解我们知道注冊ACTION_TIME_TICK广播接收器能够监听系统事件改变,可是 查看SDK发现ACTION_TIME_TICK广播 ...

  9. 【LeetCode】Symmetric Tree 推断一棵树是否是镜像的

    题目:Symmetric Tree <span style="font-size:18px;"><span style="font-size:18px; ...

  10. JAVA中JNI的简单使用

    了解JNI:JAVA因其跨平台特性而受人们喜爱,也正因此,使得它和本机各种内部联系变得很少,所以JNI(Java Native Interface)就是用来解决JAVA本地操作的一种方式.JAVA通过 ...