Selenium2(WebDriver)总结(四)---基本元素操作

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();
    }

}
时间: 2024-12-20 20:47:13

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

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

1.Alert类 Alert是指windows弹窗的一些操作,需要new一个Alert类 driver.switchTo().alert():切换到alert窗口 alert.getText():取得弹窗上面的字符串 alert.accept():点击确定/ok类的按钮,使弹窗消失 alert.dismiss():取消 public void testAlert(){ WebElement element = driver.findElement(By.className("alert"

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

基本读踩过的坑,泪流满面··· 本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnblogs.com/puresoul/p/3483055.html 一.Driver下载地址: http://docs.seleniumhq.org/download/ 二.启动firefox浏览器(不需要下载驱动,原生支持) 1.firefox安装在默认路径下: 1 /

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

本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnblogs.com/puresoul/p/3483055.html 一.Driver下载地址: http://docs.seleniumhq.org/download/ 二.启动firefox浏览器(不需要下载驱动,原生支持) 1.firefox安装在默认路径下: 1 //启动默认安装路径下的ff 2

转 四种操作xml的方式(SAX, DOM, JDOM, DOM4J)比较

四种操作xml的方式(SAX, DOM, JDOM, DOM4J)比较 (2010-10-29 15:31:28) 转载▼  http://blog.sina.com.cn/s/blog_6458bf440100mgjs.html 标签: 杂谈 分类: JAVA技术 1 介绍 引子:XML自从出现以来,以其可扩展性.自描述性.自相容性等优点,被誉为信息标准化过程的有力工具,基于XML的标准将成为以后信息标准的主流.伴随而生的是针对XML的操作技术,“名人总的有人去解析”吗!下面是愚人对目前主要的

webdriver 选择下拉列表的操作

欢迎光临娇娇家的美衣阁 http://shop105984718.taobao.com/ 标准的下拉列表为select类型 封装方法 public void select(String xpath, String value){   Select s = new Select(driver.findElement(By.xpath(xpath)));    s.selectByValue(value); } 操作页面如下所示 select("//select[@id='parkind_add_s

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

<黑马程序员_超全面的JavaWeb视频教程vedio\JavaWeb视频教程_day23_ajax> \JavaWeb视频教程_day23_ajax\day23ajax_avi\14.打包ajax生成小工具.avi;  有介绍: 个人理解:就是封装了 XMLHttpRequest 的请求方法:演变而成我们常用的 ajax: =====原始的请求方式: ajax发送异步请求(四步操作) 1. 第一步(得到XMLHttpRequest) * ajax其实只需要学习一个对象:XMLHttpRequ

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

本文是对上一节的补充:http://www.cnblogs.com/puresoul/p/4251536.html 使用Selenium2(webdriver)启动firefox且自动加载firebug插件时,切换到firebug插件的网络和cookies部分时,提示面板已被禁用,如下图所示: 于是我们输入about:config在firefox设置页面试着去找下是否有什么参数控制着面板的禁用/启用,果然被我找到如下两个参数: cookies面板 ---  extensions.firebug.

Python笔记四之操作文件

一.字符串方法补充(join.split) join方法: # join方法,连接字符串 1.把一个list变成了字符串 2.通过某个字符把list里面的元素连接起来 # 3.只要是可以循环的都可以连接起来 l=['a','b','c'] sl=str(l) #sl="['a','b','c']" str()把对象转换成一个字符串,整个list变成一个字符串,包含中括号 print(l,type(l)) print(sl,type(sl)) res=''.join(l)#以空连接起来,

RESTful Web 服务四种操作POST/DELETE/PUT/GET

目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现.例如,Amazon.com提供接近REST风格的Web服务进行图书查找:雅虎提供的Web服务也是REST风格的. 应该是,做WEB服务,都必须掌握REST!! Rest模式有四种操作: POST /url 创建 DELETE /url/xxx 删除 PUT /url/xxx 更新或创建 GET /url/xxx 查看 GET