今天尝试了一些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的更多相关文章

  1. 初识Selenium(四)

    用Selenium实现页面自动化测试 引言 要不要做页面测试自动化的争议由来已久,不做或少做的主要原因是其成本太高,其中一个成本就是自动化脚本的编写和维护,那么有没有办法降低这种成本呢?童战同学在其博 ...

  2. 初识Selenium(三)

    浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58  作者:邵育亮   来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...

  3. 初识Selenium(二)

    ---------------------------------------------------------------------------------------------------- ...

  4. 初识Selenium(一)

    Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...

  5. 初识Selenium以及Selenium常用工具的简单介绍

    一.为什么要学习自动化测试? 在互联网行业中敏捷开发小步快跑,快速迭代,测试环节中回归测试任务大繁琐,手工测试容易漏测,自动化测试可以提高测试效率保证产品质量. 二.学习的层次模型 1.单元自动化测试 ...

  6. python3初识selenium

    第一步:安装与配置 1.电脑上需要有火狐浏览器(默认安装在C:\Program Files (x86)\Mozilla Firefox目录下). 2.使用pip install selenium安装好 ...

  7. selenium基础用法(爬虫)

    初识selenium selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏 ...

  8. 【Python爬虫】selenium基础用法

    selenium 基础用法 阅读目录 初识selenium 基本使用 查找元素 元素互交操作 执行JavaScript 获取元素信息 等待 前进后退 Cookies 选项卡管理 异常处理 初识sele ...

  9. 2.1 Python3.5安装以及爬虫需要的环境配置

    之所以选用Python,是因为对于网络爬虫来说,Python是最好上手的一种语言.本文讲述的安装配置都是基于Windows的环境. 另外我想说的是,文中用到的下载链接尽量官方网站上的下载链接,这是我比 ...

随机推荐

  1. JSP相关

    1.javax.servlet.jsp这个包两个接口,六个类 2.先说两个接口,分别是HttpJspPage,JspPage(JspPage是HttpJspPage的父类,JspPage 它自己继承至 ...

  2. php超全局数组变量

    (1)$_SERVER 服务器的相关信息 (2)$_GET 接收用户通过url向服务器传的参数  $POST 接收用户通过http协议向服务器传递的参数 发送get请求 <a href=&quo ...

  3. js:setTimeout 与 setInterval 比较

    在javascript中有两个非常有用的函数:setTimeout 和setInterval ,都是定时器:但是两者存在着一些区别: 1. setTimeout函数 用法:setTimeout(fn, ...

  4. Android快捷便利但不常被使用的原生工具类

    Android快捷便利但不常被使用的原生工具类 Android SDK原生 API中,有一些常用的工具类,运用得当可以省事省力省时,何况还是Android官方提供的,现在收集整理一些出来.DateUt ...

  5. 修改crontab默认的编辑器

    1.crontab默认的编辑器为nano; 2.修改为vi或其他编辑器 export EDITOR="/usr/bin/vim" ; crontab -e

  6. Android FM模块学习之三 FM手动调频

    前一章主要是FM的自动调频, 接下来我们就看看FM手动调频是如何进行的.如果不清楚FM自动调频的过程,请打开超链接查看FM搜索频率流程. 首先来看一下流程图: 2.滑动刻度盘HorizontalNum ...

  7. 用文件模拟CMOS保存数据

    Hi3520D 芯片的内置CMOS最多只有5个字节可以用,但是我需要保存的数据有很多. 其中一个解决办法是:可以把其他需要保存的数据放到一个配置文件中.每次写的时候写到配置文件,用的时候再从配置文件读 ...

  8. day13_API第三天

    1.StringBuffer类(掌握) 1.概念      字符串缓冲区类 2.机制      StringBuffer采用的是缓冲区机制. 一开始,首先开辟一些空间,然后,随着数据的增多,还可以继续 ...

  9. day11_API第一天

    1.Eclipse常用操作 1:安装 A:解压      B:复制到指定的目录(不要有中文,和其他非法字符) 2:使用     A:打开软件的界面      B:新建一个项目(工程)      C:在 ...

  10. Android:给ViewPager添加切换效果

    原文参照开发者官网:http://developer.android.com/training/animation/screen-slide.html#viewpager 以App的引导页为例: 首先 ...