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 介绍的更多相关文章

  1. robotframework - selenium Api介绍

    一.介绍下selenium常用的api *** Settings ***Library SeleniumLibraryResource baidu业务.txtResource UI分层.txt *** ...

  2. Selenium2+python自动化27-查看selenium API

    前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. p ...

  3. Selenium2+python自动化-查看selenium API

    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...

  4. python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍

    1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...

  5. Selenium2+python自动化27-查看selenium API【转载】

    前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. p ...

  6. 常用ArcGIS for Silverlight 开发API介绍

    1.API介绍 2.Map对象  3.Layer对象 4.Symbol对象 5.Task对象

  7. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

  8. Robot Framework自动化测试(三)---Selenium API

    Robot  Framework  Selenium  API 说明: 此文档只是将最常用的UI 操作列出.更多方法请查找selenium 关键字库. 一.浏览器驱动 通过不同的浏览器执行脚本. Op ...

  9. python学习笔记(win32print API介绍)

    最近博主在研究用python控制打印机 这里整理下win32print的API介绍,官网地址http://timgolden.me.uk/pywin32-docs/win32print.html Op ...

随机推荐

  1. BZOJ 4488/4052 gcd

    思路: 一开始 我是想 对于固定的左端点 从左到右 最多有 log种取值  且单调递减  那不妨倍增预处理+二分GCD在哪变了.. 复杂度O(nlog^2n) gcd最多log种取值.. 好了我们可以 ...

  2. 6月7号shiro

    Retains all Cache objects maintained by this cache manager :保留此缓存管理器维护的所有缓存对象 Destroyable可毁灭的 retain ...

  3. CDC之Synchronizers

    1 Scenarios Two scenarios for passing signals across CDC boundaries: 1) sometimes it's not necessary ...

  4. C++多个文本读取问题

    同时使用两个 ifstream和 freopen 第二个就会失去效用,不知道错在了哪里! 1. 使用freopen打开: bool CPicToolsDlg::readTxt2Seq( std::st ...

  5. window phone 8 开发准备工作(一)

    一.下载安装Window phone SDK 1.Windows Phone SDK 8.0下载 http://www.microsoft.com/ZH-CN/download/details.asp ...

  6. react-native 横向滚动的商品展示

    在app中会有这种页面 像这样商品是横向的,而且要滚动,思路是利用 ScrollView 横向的滚动 思路: (a): 横向滚动的整体作为一个组件  ShopCenter {/*** 横向滚动 *** ...

  7. MySql数据库多表操作

    一.连接查询[连表查询.多表查询] 当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回 mysql支持三种类型的连接查询,分别为: 内连接查询(inner join) ...

  8. OAuth网络协议

    一.应用场景 为了理解OAuth的适用场合,让我举一个假设的例子. 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲 ...

  9. luoguP4719 【模板】动态 DP 线段树+树链剖分+矩阵乘法+动态DP

    题目描述 给定一棵n个点的树,点带点权. 有m次操作,每次操作给定x,y,表示修改点x的权值为y. 你需要在每次操作之后求出这棵树的最大权独立集的权值大小. 输入输出格式 输入格式: 第一行,n,m分 ...

  10. PAT_A1137#Final Grading

    Source: PAT A1137 Final Grading (25 分) Description: For a student taking the online course "Dat ...