WebDriver提供了常用的WEB控件的操作方法,比如:按钮、输入框、超链接等,废话不多说,直接上代码:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select; public class WebDriverSimple { WebDriver driver; public WebDriverSimple()
{
    
System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla Firefox/firefox.exe");
this.driver = new FirefoxDriver();
} //启动浏览器
public void startBrowser(String url)
{
driver.get(url);
//最大化浏览器
driver.manage().window().maximize();
} //使用xpath获取元素对象
public WebElement locateElementByXpath(String locator)
{
WebElement element = driver.findElement(By.xpath(locator));
return element;
} //使用CSS获取元素对象
public WebElement locateElementByCss(String locator)
{
WebElement element = driver.findElement(By.cssSelector(locator));
return element;
} /**操作输入框input
* 1.sendKeys代表输入,参数为要输入的值
* 2.clear代表清除输入框中原有的数据
*/
public void testInput(String locator,String content)
{
//WebElement input = this.locateElementByXpath(locator);
WebElement input = this.locateElementByCss(locator);
input.clear();
input.sendKeys(content);
input.clear();
input.sendKeys(content);
} //
/**操作超链接link
* 1.click代表点击这个a链接
*/
public void testLink(String locator)
{
WebElement link = this.locateElementByXpath(locator);
link.click();
} /**操作 下拉框 select
* 1.需要一个Select的类
* 2.selectByValue的参数为option中的value属性
* 3.selectByIndex的参数为option的顺序
* 4.selectByVisibleText的参数为option的text值
*/
public void testSelect(String locator,int index)
{
WebElement element = this.locateElementByXpath(locator);
Select select = new Select(element);
select.selectByIndex(index);
}
public void testSelect(String locator,String value)
{
WebElement element = this.locateElementByXpath(locator);
Select select = new Select(element);
select.selectByValue(value);
//select.selectByVisibleText(text);
} /**操作单选按钮radiobox
* 1.click代表点击选中这个单选框
* 2.isSelected代表检查这个单选框有没有被选中
*/
public void testRaidoBox(String locator)
{
WebElement radio = this.locateElementByXpath(locator);
radio.click();
radio.isSelected();
} /**操作 复选框checkbox
* 1.click代表点击选中这个多选框
* 2.isSelected代表检查这个多选框有没有被选中
*/
public void testCheckBox(String locator)
{
WebElement checkbox = this.locateElementByXpath(locator);
checkbox.click();
checkbox.isSelected();
} /**操作 按钮button
* 1.click代表点击这个按钮
* 2.sEnabled代表检查这个按钮是不是可用的
*/
public void testButton(String locator)
{
WebElement submit = this.locateElementByXpath(locator);
submit.click();
submit.isEnabled();
}

    /**操作 上传控件upload
    * 1.一般是把路他径直接sendKeys到这个输入框中
    * 2.如果输入框被加了readonly属性,不能输入,则需要用JS来去掉readonly属性!
    */

public void testUpload(String locator,String path)

    {
WebElement load = this.locateElementByXpath(locator);
load.sendKeys(path);
} //关闭并退出driver
public void closeBrowser()
{
driver.close();
driver.quit();
} }

Selenium2(WebDriver)总结(四)---基本元素操作的更多相关文章

  1. Selenium2(WebDriver)总结(五)---元素操作进阶(常用类)

    1.Alert类 Alert是指windows弹窗的一些操作,需要new一个Alert类 driver.switchTo().alert():切换到alert窗口 alert.getText():取得 ...

  2. selenium2 Webdriver + Java 自动化测试实战和完全教程

    selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...

  3. webDriver对element进行操作

    非常感谢原作者:eastmount,原地址:http://blog.csdn.net/eastmount/article/details/48108259     感谢感谢 这篇文章主要Seleniu ...

  4. selenium2 WebDriver 在asp.net项目中的应用

    selenium2 WebDriver是一款跨平台的 自动化测试工具,它可以操纵浏览器,模拟用户行为,非常方便用户进行自动化测试. .net项目使用它,首先要通过 Visual Studio 的 nu ...

  5. selenium2(WebDriver) API

    selenium2(WebDriver) API 作者:Glen.He出处:http://www.cnblogs.com/puresoul/  1.1  下载selenium2.0的包 官方downl ...

  6. Selenium2(WebDriver)总结(一)---启动浏览器、设置profile&加载插件

    本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnbl ...

  7. AJAX的来龙去脉(由来)-如何被封装出来的--ajax发送异步请求(四步操作)

    <黑马程序员_超全面的JavaWeb视频教程vedio\JavaWeb视频教程_day23_ajax> \JavaWeb视频教程_day23_ajax\day23ajax_avi\14.打 ...

  8. Selenium2(WebDriver)总结(二)---Firefox的firebug插件参数设置(补充)

    本文是对上一节的补充:http://www.cnblogs.com/puresoul/p/4251536.html 使用Selenium2(webdriver)启动firefox且自动加载firebu ...

  9. Git 学习(四)操作修改和版本穿梭

    Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...

随机推荐

  1. AutoMapper在MVC中的运用05-映射中的忽略、处理null、多种映射转换

    本篇AutoMapper使用场景: ※ 动态实现接口方法或属性 ※ 目标中的属性如果比源多,可以忽略多出的属性 ※ 目标有virtual属性,可忽略 ※ 目标属性值为null的解决办法 ※ int转s ...

  2. Delphi XE2 compiler performance

    原文: http://blog.barrkel.com/2011/10/delphi-xe2-compiler-performance.html Delphi XE2 compiler perform ...

  3. CE找基址

  4. 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题

    问题 令人头疼的是,xcode每次升级都会使用最新版本的sdk,而且只有最新版本的sdk,对之前老版本的sdk都没有默认安装,这搞的最近我很头疼, 最近我升级到Xcode5.0版本,编译后运行后,在i ...

  5. 打电话时InCallScreen的具体流程 之 来电不锁屏

    打电话时InCallScreen的具体流程 前面说到OutgoingCallReceiver解析号码并启动incallscreen类,第一次启动时首先进入了其oncreate方法 (1)初始化Phon ...

  6. Android之找回打包key密码的方法

    昨天准备给自己的应用发布一个新版本,在apk打包时,发现之前的用的keystore密码忘了.蛋碎了一地,我把我所能想到的密码都试了一遍(注:我平常在各个门户网站注册基本上用的都是那几个字母和数字组合做 ...

  7. iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容

    iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容 提示里面的解决方法是: 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 II ...

  8. dict扩展munch,支持yaml文件

    安装:pip install munch 用法参考:https://github.com/Infinidat/munch Munch is a dictionary that supports att ...

  9. Java Singleton Implementation

    概述 Java中单例模式的实现有多重方法, 要实现单例模式主要的问题是线程安全问题以及对Lazy Load的考虑,主要有如下几种 双重锁定懒加载单例 预加载单例 枚举单例 双重锁定懒加载单例模式 /* ...

  10. Go语言之进阶篇 netcat工具的使用

    一.netcat工具的使用 1.先安装netcat软件,再配置环境变量 2.tcp服务器代码 示例: package main import ( "fmt" "net&q ...