初识selenium
今天尝试了一些selenium,感觉并没有想象中那么难。整理一篇笔记出来。
笔者使用的是Python+selenium。以下内容均是基于Windows系统和Python3.5.2.
首先是下载selenium
运行cmd.exe
执行pip install selenium
然后就是浏览器,需要找到selenium支持的浏览器,我在网上百度了一下,蛮多的,但是我很懒,于是我装了一个老版的Firefox,因为Firefox里webdriver是自带的。不是我不想用新版的,我电脑上最初也是最新的Firefox,但是发现貌似不支持selenium的使用,无奈就换成了老版的。
OK,现在环境配好了。我们可以开始实现第一个简单的UI自动化的脚本。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
#定义一个自动访问百度进行搜索
def get_search():
#通过url去打开火狐并访问百度
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#检查标题中是否存在百度
assert "百度" in driver.title
#定位name=wd的元素
elem = driver.find_element_by_name("wd")
#模拟键盘操作,输入xx
elem.send_keys("xx")
#模拟键盘操作点击回车键
elem.send_keys(Keys.RETURN)
get_search()
首先导入selenium和selenium中模拟键盘操作的方法
然后使用webdriver打开火狐浏览器,并且访问百度
使用断言判断页面的标题是否含有“百度”

按照图中的方式,我们定位到了百度输入框在html中的位置,接下来我们使用name方法去定位输入框。
定位到输入框之后,我们就使用send.keys方法模拟键盘操作,在输入框中输入内容
然后模拟键盘进行回车,就可以跳转到我们想要搜索的内容的界面了。
一个简单的小脚本就这样实现了,并不是很难。笔者目前在尝试phantomjs进行动态页面的操作。遇到了点小问题,回头分享给大家
初识selenium的更多相关文章
- 初识Selenium(四)
用Selenium实现页面自动化测试 引言 要不要做页面测试自动化的争议由来已久,不做或少做的主要原因是其成本太高,其中一个成本就是自动化脚本的编写和维护,那么有没有办法降低这种成本呢?童战同学在其博 ...
- 初识Selenium(三)
浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58 作者:邵育亮 来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...
- 初识Selenium(二)
---------------------------------------------------------------------------------------------------- ...
- 初识Selenium(一)
Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...
- 初识Selenium以及Selenium常用工具的简单介绍
一.为什么要学习自动化测试? 在互联网行业中敏捷开发小步快跑,快速迭代,测试环节中回归测试任务大繁琐,手工测试容易漏测,自动化测试可以提高测试效率保证产品质量. 二.学习的层次模型 1.单元自动化测试 ...
- python3初识selenium
第一步:安装与配置 1.电脑上需要有火狐浏览器(默认安装在C:\Program Files (x86)\Mozilla Firefox目录下). 2.使用pip install selenium安装好 ...
- selenium基础用法(爬虫)
初识selenium selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏 ...
- 【Python爬虫】selenium基础用法
selenium 基础用法 阅读目录 初识selenium 基本使用 查找元素 元素互交操作 执行JavaScript 获取元素信息 等待 前进后退 Cookies 选项卡管理 异常处理 初识sele ...
- 2.1 Python3.5安装以及爬虫需要的环境配置
之所以选用Python,是因为对于网络爬虫来说,Python是最好上手的一种语言.本文讲述的安装配置都是基于Windows的环境. 另外我想说的是,文中用到的下载链接尽量官方网站上的下载链接,这是我比 ...
随机推荐
- ubuntu安装无线驱动
一.无线驱动的安装. 首先查看自己的网卡类型:lspci -vnn | grep 14e4 查看内核版本: -uname -r 去www.broadcom.com/support/802.11/lin ...
- JS 功能弹框封装
// 功能提示弹框 function messageBox ( option ) { var html = ''; html += '<div class="message-box-h ...
- 关于谷歌浏览器 表单元素获取焦点后自动增加外边线的问题解决CSS代码
input,textarea:focus { outline: none;} /*去除表单元素默认边框*/
- qt5.4 msvc2013_64安装 目标计算机不匹配问题
本文主要解决一个问题:即在安装完成之后如下目标计算机不匹配问题. ------------------------------------------------------------------ ...
- HDU 3353
http://acm.hdu.edu.cn/showproblem.php?pid=3353 题目其实就是要把A B分解质因数,X是它们质因数的并集,D是质因数指数的和(如果有相同的质因数,把它们的指 ...
- JS运动基础(二) 摩擦运动、缓冲运动
摩擦运动: 逐渐变慢,最后停止 缓冲运动: 与摩擦力的区别:可以精确的停到指定目标点距离越远速度越大速度由距离决定速度=(目标值-当前值)/缩放系数Bug:速度取整值取整: iSpeed = iSpe ...
- IOS--手势控制的使用
手势识别是具有互斥的原则的,比如单击和双击,如果它识别出一种手势,其后的手势将不被识别 // 添加单击的手势UITapGestureRecognize UITapGestureRecognizer * ...
- Linux线程-创建
Linux的线程实现是在内核以外来实现的,内核本身并不提供线程创建.但是内核为提供线程[也就是轻量级进程]提供了两个系统调用__clone()和fork (),这两个系统调用都为准备一些参数,最终都用 ...
- JDK各版本新特性!
1.JDK1.5 新特性 1.自动装箱与拆箱:自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中.自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取 ...
- Linux命令:nohup、df、du与/dev/null
早上开始工作时发现服务器挂掉了,重启TongWeb时有报错: 上面的红框圈错了,第一个红框的下一行: java.io.IOException: No Space left on device 我们用d ...