python+selenium初学者常见问题处理
要做web自动化,第一件事情就是搭建自动化测试环境,那就没法避免的要用到selenium了。
那在搭建环境和使用过程中经常会遇到以下几类问题:
1、引入selenium包失败:
出现这种错误,一般分为两种情况:
1、根本没有安装selenium库;
2、安装了selenium库,可是在导入的时候,仍然提示selenium库不存在。
解决方法:
针对第1种,那就是麻溜的去安装selenium库。pip命令安装最好!!命令:pip install selenium
针对2:
1)确认你安装的selenium第三方库安装在哪个python目录中?并确认你的selenium安装成功;
如何确认?安装的时候,会直接输出你的selenium安装到了哪里。注意观察哟。
2)确认你的代码使用的python是哪个,安装目录在哪里?是否是1)中对应的python目录。
以pycharm编辑器为例:
在pycharm当中, 每一个project都会有一个External Libraries栏。如下图:
会直接显示你当前project所用的python版本以及安装目录;
打开其下的site-packages目录,会显示所有安装的第三方库。如果能够找到selenium文件夹,则说是在这个python版本中是安装了selenium的
注意注意:pycharm现在有专业版和社区版。很多新手朋友们去用破解版的专业版,结果入了坑也不知道。
因为专业版是默认使用的 - 它给你创建的虚拟环境的。你需要手动配置成使用系统python环境 。所以高度建议,新手们使用社区版就好。
如果以上两点,都确认无误,没错,就是安装在我当前正在用的python当中。那恭喜你,可以正常引入selenium的webdriver包了。
2、调用selenium库方法失败:Module object is not callable
这个问题就好解决多啦。。。
就是使用webdriver的功能时,把功能名字给错了。你一写错,人家webdriver库根本就找不到这个名字对应的功能。自然就报了上面的错误 。
所以,正确的方式是:
browser = webdriver.Chrome()
3、浏览器版本与驱动版本不匹配的报错: call function result missing 'value'
这个问题就要从selenium环境安装方面说起了。
我们功能测试测web系统时,就是通过人工去在浏览器页面中各种点点点。但是自动化,咱们得换个实现方式了。
是通过代码来自动的去浏览器页面中各种点点点。即 python+selenium代码 与 浏览器 进行交互。
而且浏览器这个物种有多种类型,谷歌、ie、firefox、safaria......
两个完全不同的物种如何交流??
翻译!!中间件!! 没错,就是它了。。。为了解决这个问题,浏览器厂商提供各种的驱动软件。于是就有了chromedrver,IEdriver,geckodriver......
驱动软件可以跟我们的python+selenium自动化代码交互,也可以跟浏览器进行交互。把自动化代码要做的事情,通过驱动软件去驱动浏览器操作实现。
但素,软件从生出开始,就需要不断的长大、进化,更好的为人民服务。
所以浏览器会不断的更新,那么与其匹配的驱动软件也会同样的更新。
所以就会有:不同的驱动版本,支持不同的浏览器版本。
so,这样的报错解决方法就是:去下载匹配你当前浏览器版本的驱动。
放在你所用python版本的安装目录下面。
python+selenium初学者常见问题处理的更多相关文章
- python selenium 常见问题列表
python selenium webdriver 常见问题FAQ 另一个FAQ: https://code.google.com/p/selenium/wiki/FrequentlyAskedQue ...
- Python+Selenium基础篇之1-环境搭建
Python + Selenium 自动化环境搭建过程 1. 所需组建 1.1 Selenium for python 1.2 Python 1.3 Notepad++ 作为刚初学者,这里不建议使用P ...
- 使用Python + Selenium打造浏览器爬虫
Selenium 是一款强大的基于浏览器的开源自动化测试工具,最初由 Jason Huggins 于 2004 年在 ThoughtWorks 发起,它提供了一套简单易用的 API,模拟浏览器的各种操 ...
- python+selenium的环境配置
以前写过关于python和selenium加myeclipse的环境配置,但是myeclipse启动时过于费时,虽然myeclipse有很好的提示功能,但是作为初学者,我还是直接用python的idl ...
- python+selenium 浏览器的问题
以前用selenium调用firefox是不需要驱动的,最近安装了python3.52+最新的firefox 发现调不起来了 搜索以后发现Firefox 47+需要搞个firefox的驱动 gecko ...
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...
- Python + Selenium 实现登录Office 365
最近捡起之前用的Python + Selenium实现工作中需要的登录Office 365功能.(吐槽:国内网络真是卡,登录Office 365实属不易.另外Selenium这样的网站都要墙,无法理解 ...
- python+selenium+Robot
准备工作: 1.下载python2.7 http://python.org/getit/ 2.下载下载setuptools [python 的基础包工具] 可以帮助我们轻松的下载,构建,安装,升级,卸 ...
- python+selenium运行报错UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
使用python+selenium运行自动化脚本时,打印某一段文字出现UnicodeEncodeError: 'ascii' codec can't encode characters in posi ...
随机推荐
- Android Studio系列教程
Android Studio系列教程 Android Studio系列教程一 —- 下载与安装 Android Studio系列教程二 —- 基本设置与运行 Android Studio系列教程三 — ...
- php的数组转为对象
有时候数组要转为对象操作,用对象的指向操作符,有两种方法 方法一: $arr=['a'=>10,'b'=>100,'c'=>'Hello']; $obj=(Object)$arr; ...
- 一些说明&其他奇奇怪怪的东西
NOIP考完了,这篇博客彻底咕了.
- js 判断js函数,变量是否存在
//是否存在指定函数 function isExitsFunction(funcName) {//这里的代码需要用try一下,因为当判断的函数是未定义时 浏览器会报错 try { if (typeof ...
- java多线程 -- volatile 关键字 内存 可见性
内存可见性(Memory Visibility) 1 内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状态后,其 ...
- Android Studio 换主题(Material Theme..)
1.去如下网址下载自己喜欢的主题文件xx.jar http://color-themes.com/?view=index 2. 导入方式 下载主题—xxx.jar 注意:如果我们下载下来的jar名字如 ...
- Activiti工作流的应用示例 (官方guide项目方式)
转: Activiti工作流的应用示例 1.新建流程模型 模型管理->模型工作区 点击“创建”后会立即跳转到“流程在线设计器”页面,请参考下一节 2.在线流程设计器 模型管理->模型工作区 ...
- Non-Local Image Dehazing 复现
本文选自CVPR 2016, 文章链接Dana Berman, Tali Treibitz, Shai Avidan. Non-Local Image Dehazing 复现源码见我的Github 无 ...
- EndNote文献悬挂缩进的设置方法及设置参考文献序号后面空格长度
一.EndNote文献悬挂缩进的设置方法 写论文时使用EndNote来插入和管理参考文献是一种非常方便的方法,但有时不同的杂志要求插入的文献要求第二行缩进格式,或者不缩进. 1.在EndNote中Ed ...
- 题解【bzoj2002 [Hnoi2010]Bounce 弹飞绵羊】
Description 给 \(n\) 个点以及它们的弹力系数 \(k_i\) ,含义为 可以弹到 \(i + k_i\) 的位置. 支持两个东西,修改一个点的弹力系数:求一个点要弹多少次弹出 \(n ...