今天尝试了一些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. Annotation注解(有源代码)

    注解(annotation)概述: ·从JDK5.0 开始,java增加了对元数据(MetaData)的支持,也就是Annotation(注解) ·Annotation其实就是代码里的特殊标记,这些标 ...

  2. shell多行注释

    :<<BLOCK ....被注释的多行内容 BLOCK :<< 'BLOCK ....被注释的多行内容 BLOCK'

  3. 大数运算Swift

    前几天开始,打算用Swift写大数的运算,加法跟乘法都已经写好了,写减法发现,真是难,感觉有可能是我的想法不对?不不不我相信我的逻辑. 首先把数字分成小数部分跟整数部分,再遍历一下,识别当前的结果,是 ...

  4. surface实例-小球弹起事例

    ball.java package com.example.sufacedemo; import android.graphics.Bitmap; import android.graphics.Bi ...

  5. SAP 增强-出口选找方法-全部

    ■ SAP 中如何寻找增强 方法一:利用TCODE寻找增强(第二代的增强) 执行一个程序(源代码后附),在选择屏幕处输入你所需要增强的程序TCODE,执行後,就会出现一个列表,那里就有关于如何增强这个 ...

  6. Libgdx 开发指南——目录

    本系列文档选译自libgdx github项目 wiki : https://github.com/libgdx/libgdx/wiki 由于关于Libgdx的中文文档非常稀缺,因此在这里对官方Wik ...

  7. EC6 map 和 set

    1.map 首先map是一个具有键值对的结构 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,Array越长,耗时越长. 如果用Map实现,只需要一 ...

  8. 基于Twemproxy的Redis集群搭建以及想法

    基于Twemproxy的Redis集群方案(转) redis3.0 已经发布了几个月了,但是我这等菜鸟到网上还是没有找到很好的关于搭建redis3.0集群的文章,而且好像很多公司的redis版本还保持 ...

  9. c语言二叉树基本操作

    编译器为vs2013 #include "stdafx.h" #include<malloc.h> #include<stdlib.h> #define O ...

  10. Spring Autowired错误???

    @SpringBootApplicationpublic class TestMqApplication extends SpringBootServletInitializer { @Suppres ...