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 ...
随机推荐
- Spark2.0.2+Zeppelin0.6.2 环境搭建 初探
0.抱怨与其他(此部分与标题没有太多联系): 首先一点想说的是版本问题,为什么标题我会写清楚版本号呢!原因就是版本不对真的很会坑人. 就在写这篇博客的同一天,我还写了另一篇,是 Hadoop2.7.3 ...
- jvm堆外直接内存实现高性能接入层
jvm堆外直接内存实现高性能接入层https://blog.csdn.net/phil_code/article/details/69056086
- 5.23Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
作者:https://www.cnblogs.com/lyjin/p/6389349.html PO:持久对象(persistent object):---po就是在Object/Relation M ...
- Django中关于MySQL的bug总结
bug one: You are trying to add a non-nullable field 'height' to person without a default; we can't d ...
- ArcGIS API For Android Errors汇总
API客户端异常错误的发生通常是由于不正确的方法参数,对象状态依赖,或网络条件. //*******推荐使用方法,按下Ctrl+F搜索错误代码,再查看与代码对应的解释.********// ArcGI ...
- 关于Core里的 StartUp里的方法的理解。
public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; ...
- 【PostgreSQL-9.6.3】创建、修改、删除数据库
1.创建数据库 create database database_name; 2.修改数据库的名称 alter database database_name rename to new_databas ...
- 【SQL】通过rowid查找及删除重复记录
新建T表如下: SQL> select * from t; X Y ---------- -- 1 a 1 a 1 a 2 ...
- SLAM: Ubuntu14.04_Kylin安装ROS-Indigo
参考连接:ROS-Indigo版在Ubuntu上的安装第一步: 软件源配置 1. 增加下载源(增加ubuntu版的ros数据仓库,即下载源)(通用指令适合任何版本的ros) sudo sh -c 'e ...
- 利用string 字符串拷贝
序言:对于laws的代码,完全从Matlab中转来.其中用到了字符串复制和对比的函数. C++要求: 输入字符串,根据字符串,来确定选择数组,用于下一过程 MatLab代码: (1).文件calLaw ...