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 4010 拓扑排序+heap

    思路: 反向图求最大拓扑序 反向输出 //By SiriusRen #include <queue> #include <cstdio> #include <cstrin ...

  2. BZOJ 2333 左偏树 (写得我人生都崩溃了...)

    思路: 高一神犇 竟然 问我这道题   我光荣地  看着题解(划掉)  写了一下午 QaQ multiset不能erase(一个值)   这样就把等于这个值 的数都erase掉了  (woc我一开始不 ...

  3. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  4. xhtml1-frameset.dtd

    <!-- Extensible HTML version 1.0 Frameset DTD This is the same as HTML 4 Frameset except for chan ...

  5. (转)vuex2.0 基本使用(3) --- getter

    有的组件中获取到 store 中的state,  需要对进行加工才能使用,computed 属性中就需要写操作函数,如果有多个组件中都需要进行这个操作,那么在各个组件中都写相同的函数,那就非常麻烦,这 ...

  6. Android开发笔记(10)——使用Fragment传递

    转载请注明:http://www.cnblogs.com/igoslly/p/6911165.html 由于最近废寝忘食地在开发App,没来得及及时做总结,没有用很高级的部件,勉强也使用一些功能完成了 ...

  7. C# Socket通讯 本机多网卡,指定网卡通讯

    IPAddress ip = IPAddress.Parse("192.168.0.188"); IPAddress IPLocal = IPAddress.Parse(" ...

  8. Node.js 常用Mongoose方法

    Node.js 手册查询-Mongoose 方法 一.Schema 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力.可以说是数据属性模型(传统意义的表结构 ...

  9. [Kernel参数]----/etc/sysctl.conf

    修改sysctl方法 方法一:修改/proc下内核参数文件内容 直接修改内核参数ip_forward对应在/proc下的文件/proc/sys/net/ipv4/ip_forward.用下面命令查看i ...

  10. android apk的签名和权限问题

    一. android apk的签名问题(http://blog.csdn.net/lyq8479/article/details/6401093) 1.为什么要给Android应用程序签名?      ...