selenium2+python的环境搭建主要需要python和selenium

1.python

mac下自带了python,可以查看版本。当然可以选择安装其它版本的python。

2.selenium

在mac自带的终端里输入 sudo easy_install selenium即可完成安装

通过以上两步就完成了最基本的环境安装。一般选择firefox作为自动化测试对应的默认浏览器,当然也可以使用其它浏览器。

以firefox为例,我们可以执行以下python脚本,测试selenium能否正常使用。

 from selenium import webdriver
import time
dr = webdriver.Firefox()
time.sleep(5)
print'Browser will be closed'
dr.quit()
print'Browser is close'

执行如上脚本的时候遇到如下报错:

Traceback (most recent call last):
File "/Users/xxx/Documents/selenium_py/inittest/test.py", line 3, in <module>
dr = webdriver.Firefox()
File "/Library/Python/2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 144, in __init__
self.service.start()
File "/Library/Python/2.7/site-packages/selenium/webdriver/common/service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
[Finished in 0.1s with exit code 1]

原因是使用的firefox版本是56.0,对于比较高版本的firefox浏览器,需要在下载对应的驱动geckodriver。将下载的驱动放到自己需要的目录下。

修改原脚本如下所示,将具体的驱动位置作为入参。

from selenium import webdriver
import time
dr = webdriver.Firefox(executable_path = '/Users/xxx/Documents/selenium_py/geckodriver/geckodriver')
#dr = webdriver.Chrome(executable_path = '/Users/xxx/Documents/selenium_py/chromdriver/chromedriver')
print'Browser will be closed'
dr.quit()
print'Browser is close'

对于其它浏览器只需要在官网http://www.seleniumhq.org/download/ 下载对应的驱动即可。

在脚本里加上了驱动位置以后还是出现了报错

Traceback (most recent call last):
File "/Users/xxx/Documents/selenium_py/inittest/test.py", line 3, in <module>
dr = webdriver.Firefox(executable_path = '/Users/xxx/Documents/selenium_py/geckodriver/geckodriver')
File "/Library/Python/2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 144, in __init__
self.service.start()
File "/Library/Python/2.7/site-packages/selenium/webdriver/common/service.py", line 102, in start
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service /Users/xxx/Documents/selenium_py/geckodriver/geckodriver
[Finished in 38.3s with exit code 1]

解决这个问题在/etc/hosts文件中将127.0.0.1 localhosts加上即可。

然后就可以正常的运行脚本啦~

mac下selenium+python环境搭建的更多相关文章

  1. Mac下R语言环境搭建

    Mac下R语言环境搭建 博主在数据分析的时候一直用的python(MATLAB太重了),最近跟其他搞学术的人合作,需要用一下R语言,所以也打算顺便学习一下R. R语言简介 R语言是用于统计分析,图形表 ...

  2. 自动化测试基础篇--Selenium Python环境搭建

    学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...

  3. 引用 自动化测试基础篇--Selenium Python环境搭建

    原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...

  4. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建

    # OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...

  5. MAC下的XMPP环境搭建

    实现即时通信有多种方式,下面讲的是Mac下使用XMPP来实现. XML Messages Presence Protocol 可扩展消息处理协议 简单讲就是基于XML语言的点对点即时通信协议  原理: ...

  6. windows下的python环境搭建(python2和python3不兼容,python2用的多)

    Windows平台下搭建python开发环境 以下为在 Window 平台上安装 Python 的简单步骤: 打开WEB浏览器访问http://www.python.org/download/ 在下载 ...

  7. Mac下git的环境搭建和基本使用

    前言本文将介绍git的基本概念.环境搭建.日常使用,主要针对刚接触git,或接触不久,或好久没用忘记的同学们,当然是基于mac环境的,window系统也是大同小异!本文将从以下几个模块介绍,希望能帮助 ...

  8. selenium+python环境搭建

    1.安装python-2.7.3.msi 2.安装pywin32-216.win32-py2.7.exe 3.下selenium包,selenium-2.35.0.tar.gz,放到D:\autote ...

  9. mac下java 开发环境搭建

    mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat   1.先安装jdk ,才能安装sdk . 2 mac中jdk1.7的默认位置:/Library/Java/Ja ...

随机推荐

  1. 神奇的版本库—————GIT

    表示是第一次接触这个东东,然后疯狂百度了一波资料,然而=-=,完全不敢相信居然百度出了,GIT是全球最大同性交友网站...... 简直有点毁三观呐..好吧,其实按道理来说,这么解释也没有错欸,官方说明 ...

  2. Python实战之int学习笔记及简单练习

    ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__ ...

  3. ICommand.CanExecuteChanged事件订阅对象的变化

    public class DelegateCommand : ICommand { Func<object, bool> canExecute; Action<object> ...

  4. Telerik RadGridView动态增删行及行列操作

    最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题. 1.增行 RadGridView中使用Be ...

  5. 第七章 DAO模式

    第七章 DAO模式 一.JDBC的封装 1.JDBC的封装: DAO位于业务逻辑和持久化数据之间,实现对持久化数据的访问.将数据库都封装起来,对外提供相应的接口 2.DAO模式的作用: 1.隔离业务逻 ...

  6. dig 命令使用

    1.简单查询 # dig www.guoxh.cn 2.按记录类型查询,默认为A记录 # dig www.guoxh.cn cname # dig www.guoxh.cn mx # dig www. ...

  7. Mvc 流程调用分析

    链接地址 https://www.processon.com/view/link/59e71fbbe4b09000f03ce78e 总结: 1. 在Global.ascx 中我们使用RouteColl ...

  8. git 修改commit日期为之前的日期

    我在之前修改了一个文件,但是没有commit,现在我想要commit,日期为那天的日期 git commit --date="月 日 时间 年 +0800" -am "提 ...

  9. Memory Analyzer Tool 使用手记

    最近一段时间一直在研究热部署,热部署中涉及到一个比较头痛的问题就是查内存泄露(Memory Leak),于是乎在研究热部署的过程中,干的最多的一件事就是查内存泄露.       查内存泄露,最开始尝试 ...

  10. C++继承(07)

    继承 通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原来的类叫做“基类”,新建立的类则叫做“派生类”.另一方面,从类的成员角度看,派生类自动地将基类的所有成员作为自己的成员,这叫做“继承”.基 ...