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. 在ASP.NET MVC中实现登录后回到原先的界面

    有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据. 提交表单的页面是一个强类型视图页,如果不考虑需要保持提交表单界面的数 ...

  2. JavaScript进阶系列03,通过硬编码、工厂模式、构造函数创建JavaScript对象

    本篇体验通过硬编码.工厂模式.构造函数来创建JavaScript对象. □ 通过硬编码创建JavaScript对象 当需要创建一个JavaScript对象时,我们可能这样写: var person = ...

  3. 窗体的Alpha通道透明色支持

    参考: http://www.delphibbs.com/delphibbs/dispq.asp?lid=2190768 Windows 2000后,为了支持类似MAC界面的Alpha通道混合效果,提 ...

  4. MySQL Workbench的安全更新模式

    MySQL Workbench上使用"DELETE FROM TABLE_E;"清空一个表时返回错误: Error Code: 1175. You are using safe u ...

  5. sql select 0 字段

    关于 select 语句中 0 某字段名字,的意思是:该某字段是不在指定的表中的,那么如果要在子查询中利用这个指定的表,且带有这个字段,那么就用这个方式来添加该字段,并以0来初始化该字段. 如下例: ...

  6. java hash表

    当使用一个哈希表,要指定用作键的对象,以及要链接到该键的值. 然后,该键经过哈希处理,所得到的散列码被用作存储在该表中值的索引. Hashtable定义了四个构造方法.第一个是默认构造方法: Hash ...

  7. ios(包括6、7)应用程序引用系统通讯录的方法 [亲测可行]

    由于ios系统对用户隐私的控制,第三方应用程序只能通过苹果官方接口调用系统通讯录,不能像android那样直接操作通讯录数据库.     一般地,使用系统自带通讯录的方法有两种,一种是直接将整个通讯录 ...

  8. IOS应用发布NSLog的注释及使用重定向,把控制台内容写入文件

    1 选择工程的Target -> Build Settings -> Preprocessor Macros. 如图,默认 Debug项,是“DEBUG=1”. 2 在程序中设置全局宏定义 ...

  9. 教你调用数据库读取短信 记事本 通讯录文件,让ios5的短信恢复到ios4

    由于高版本的ios固件向下恢复到低版固件时无法通过itunes恢复备份,所以一些数据,比如SMS需要通过提取文件的方式单独进行备份恢复特别是ios5的短信,之前很是头痛,直接将文件恢复到指定目录修改权 ...

  10. 用UIInterpolatingMotionEffect产生透视效果

    用UIInterpolatingMotionEffect产生透视效果 效果 源码 https://github.com/YouXianMing/Animations // // MotionEffec ...