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 ...
随机推荐
- 一文总结之MyBatis
目录 MyBatis 目标 MyBatis演示 Configuration.xml 映射文件 初始化配置文件 Dao Spring与MyBatis集成 pom Spring配置文件 MyBatis配置 ...
- Java Junit测试框架
Java Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...
- P2144 [FJOI2007]轮状病毒
题目描述 轮状病毒有很多变种.许多轮状病毒都是由一个轮状基产生.一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成.2个原子之间的边表示这2个原子之间的信息通道,如图1. n轮状病毒的产生规律 ...
- [BZOJ3295][Cqoi2011]动态逆序对 CDQ分治&树套树
3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MB Description 对于序列A,它的逆序对数定义为满足i<j,且 ...
- c++11 语言级线程
c++11 语言级线程 线程的创建 用std::thread创建线程非常简单,只需要提供线程函数或函数对象即可,并且可以同时指定线程函数的参数. #define _CRT_SECURE_NO_WARN ...
- 查看Mysql正在执行的事务、锁、等待
一.关于锁的三张表(MEMORY引擎) ## 当前运行的所有事务 mysql> select * from information_schema.innodb_trx\G; ********** ...
- BZOJ 2746: [HEOI2012]旅行问题
2746: [HEOI2012]旅行问题 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 921 Solved: 291[Submit][Status ...
- Java入门:MyEclipse安装与破解教程
MyEclipse Pro 2014 GA的安装过程请参考网页:http://blog.my-eclipse.cn/myeclipse-2014-download-and-install.html 安 ...
- paramiko修改本分源码
一.获取paramiko源码 环境:Python3 下载地址:https://github.com/paramiko/paramiko 使用的是 demos这个文件夹 二.修改部分源码用以登入 2.1 ...
- python 字符串切片知识巩固
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分).我们使用一对方括号.起始偏移量start.终止偏移量end 以及可选的步长step 来定义一个分片. 格式: [start:en ...