Selenium API 介绍
Selenium API 介绍
我们先前学习过元素定位,大家不知道学习得怎么样了,当你学会元素定位之后就能够跟着我的脚步学习本节Selenium 经常使用的API 介绍
Seleium 为什么能模拟人的形为进行机器化操作,主要是由于Selenium jar 提供了对页面元素进行输入,点击。选择,取消。获取等功能
如今我来介绍以上几个经常使用的API
我们要訪问网页一開始是要做什么呢,对了,是要打开浏览器,那在Selenium 中是怎样打开浏览器的呢,还有那么多浏览器究竟打开哪一款呢
来看代码
我们先来看最简单的一种
Public static void openBrowser() {
WebDriverdriver=new FireFoxDriver();
}
执行之后我们发现火狐的浏览器已打开了
这样的情况仅仅适用于火狐默认安装的情况,那假设火狐在安装时是自己定义安装路径的话代码要怎样写呢
那我们的代码中就要添加浏览器的安装路径了
代码例如以下
那假设是其他谷哥,IE 浏览器要怎样操作呢
操作方式同设定火狐路径一样
仅仅是要分别下载相应的驱动
比方你是要打开IE
你就用这个代码
System.setProperty("webdriver.ie.driver", "D:\\selenium\\selenium\\Tools\\IEDriver.exe");
WebDriver driver = new InternetExplorerDriver();
谷哥的也一样操作。这里就不反复
当浏览器打开之后我们要做的是就是输入网址
输入网址我们用下面代码
Driver.get(“https://www.baidu.com/”)
第三个API 输入框
操作方式是先定位到相应的输入框,之后再用SendKey,将你须要输入字符输入到指定框框内
我们来看怎样对百度输入框输入一个字符
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
执行之后例如以下图
假设输入框默认就有值。再输入就可能导致输入的值是接在默认值的后面,为了避免这个问題我们能够将代码再优化下,在输入之前先清空
调用clean() 方法
第四个方法点击
我们在百度输入了查询条件。那是不是要去点击百度一下呢
点击一下的操作也是先要定位到这个元素。之后调用Click () 方法
第五种 选择框操作
可能大家网上去搜时发现有以下这样的方法
Select select = new Select(driver.findElement(By.id(“select”)));
select.selectByVisibleText(“testName”);
或
select.selectByValue(“name”);
但就是在你自已的系统中一直Select 没作用。这个主要原因是如今好多公司将Select 单独再封装了一次。
假如你用FireBug 定位时你本身定位的是一个Select 但高亮块时显示的标签名是什么
Div input td 之类的那就说明你不能用上面的方法
你得模拟鼠标一个个值去点击
第一步先让下拉选项展开
第二步再定位到相应要选择的值进行点击,这样的对下拉项值非常多的情况不适用
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
第六种单选/复选框
对单选/复选框操作就用点击操作即可,点击之后去获取相应属性推断是否有选中,没有选中就再选一次即可了
第七种 获取输入框或是单选框/复选框属性
有时我们可能要对某个输入框进行确认,确认他的值与预期值是否同样。这时我们就要用于属性获取方法
如今我们做下面測试
先进入百度。之后在输入框输一个字符。再去获取它的值
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
有时我们在登录时可能会出现你要鼠标先移到个位置停留下,或是在某个位置要去点右键的操作呢
我们以百度设置为例
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Selenium API 介绍的更多相关文章
- robotframework - selenium Api介绍
一.介绍下selenium常用的api *** Settings ***Library SeleniumLibraryResource baidu业务.txtResource UI分层.txt *** ...
- Selenium2+python自动化27-查看selenium API
前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. p ...
- Selenium2+python自动化-查看selenium API
前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...
- python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...
- Selenium2+python自动化27-查看selenium API【转载】
前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. p ...
- 常用ArcGIS for Silverlight 开发API介绍
1.API介绍 2.Map对象 3.Layer对象 4.Symbol对象 5.Task对象
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- Robot Framework自动化测试(三)---Selenium API
Robot Framework Selenium API 说明: 此文档只是将最常用的UI 操作列出.更多方法请查找selenium 关键字库. 一.浏览器驱动 通过不同的浏览器执行脚本. Op ...
- python学习笔记(win32print API介绍)
最近博主在研究用python控制打印机 这里整理下win32print的API介绍,官网地址http://timgolden.me.uk/pywin32-docs/win32print.html Op ...
随机推荐
- Spring Boot (2) Restful风格接口
Rest接口 动态页面jsp早已过时,现在流行的是vuejs.angularjs.react等前端框架 调用 rest接口(json格式),如果是单台服务器,用动态还是静态页面可能没什么大区别,如果服 ...
- P1375 嵌套矩形
题目Problem 嵌套矩形 Time Limit: 1000ms Memory Limit: 131072KB 描述Descript. 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形 ...
- 【Oracle】删除手工创建的数据库
众所周知,DBCA创建的数据库可以通过DBCA命令删除,但是手工创建的数据库却不能用此方式删除,下面给出删除方式: SQL> startup mount exclusive SQL> al ...
- dubbo之事件通知
事件通知 在调用之前.调用之后.出现异常时,会触发 oninvoke.onreturn.onthrow 三个事件,可以配置当事件发生时,通知哪个类的哪个方法 1. 服务提供者与消费者共享服务接口 in ...
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...
- BZOJ 3036: 绿豆蛙的归宿 期望 + 拓扑排序
随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿.给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有K条离 ...
- Python 集合 day3
集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,集合用{},里面是一个一个元素,不同于key-value形式的字典: 注意:创建一个空集合必须用 s ...
- python jieba分词(添加停用词,用户字典 取词频
中文分词一般使用jieba分词 1.安装 pip install jieba 2.大致了解jieba分词 包括jieba分词的3种模式 全模式 import jieba seg_list = jieb ...
- php curl选项列表(超详细)
第一类:对于下面的这些option的可选参数,value应该被设置一个bool类型的值:选项可选value值备注 CURLOPT_AUTOREFERER当根据Location:重定向时,自动设置hea ...
- 第1章 面向对象的JavaScript
针对基础知识的每一个小点,我都写了一些小例子,https://github.com/huyanluanyu1989/DesignPatterns.git,便于大家理解,如有疑问,大家可留言给我,最近工 ...