1. 输入框(text field or textarea)

 WebElement we = driver.findElement(By.id("id"));
//将输入框清空
we.clear();
// 在输入框中输入内容
we.sendKeys(“test”);
// 获取输入框的文本内容, 取得就是 value 属性的值
element.getAttribute("value");

2. 下拉选择框(select)

 // 找到下拉选择框的元素
Select select = new Select(driver.findElement(By.id("id")));
// 选择对应的选择项
select.selectByVisibleText(“ 北京市 ”); // 通过可见文本去选择
select.selectByValue(“beijing”); // 通过 html 标签中的 value 属性值去选择
select.selectByIndex(1); // 通过 index(索引从0开始)选择
// 不选择对应的选择项
select.deselectAll();
select.deselectByValue(“ 替换成实际的值 ”);
select.deselectByVisibleText(“ 替换成实际的值 ”);
// 获取所有选择项的值
List<WebElement> wes = select.getAllSelectedOptions();
// 获取第一个选择项或者默认选择项
String text = select.getFirstSelectedOption().getText();

3. 单选框(Radio Button)

 // 找到单选框元素
WebElement we =driver.findElement(By.id("id"));
// 选择某个单选项
we.click();
// 清空某个单选项
we.clear();
// 判断某个单选项是否已经被选择, 返回的是 Boolean 类型
we.isSelected();

4. 多选框(Checkbox)

 // 找到多选框元素
WebElement checkbox = driver.findElement(By.id("id"));
// 点击复选框
checkbox.click();
// 清除复选
checkbox.clear();
// 判断复选框是否被选中
checkbox.isSelected();
// 判断复选框是否可用
checkbox.isEnabled(); 

5. 按钮(Button)

 // 找到按钮元素
WebElement saveButton = driver.findElement(By.id("id"));
// 点击按钮
saveButton.click();
// 判断按钮是否可用
saveButton.isEnabled ();

6. 左右选择框

 // 左边是可供选择项,选择后移动到右边的框中,反之亦然,先处理选择框
Select lang = new Select(driver.findElement(By.id("languages")));
lang.selectByVisibleText(“English”);
// 再处理向右移动的按钮
WebElement addLanguage = driver.findElement(By.id("addButton"));
addLanguage.click();

7. 弹出对话框(Popup dialogs)

 // 切换到弹出框
Alert alert = driver.switchTo().alert();
// 确定
alert.accept();
// 取消或者点"X"
alert.dismiss();
// 获取弹出框文本内容
alert.getText();

8. 表单(Form)

 // 只适合表单的提交
driver.findElement(By.id("approve")).submit();

9. 上传文件 (Upload File)

 // 定位上传控件
WebElement adFileUpload = driver.findElement(By.id("id"));
// 定义了一个本地文件的路径
String filePath = "C:\\test\\uploadfile\\test.jpg";
// 为上传控件进行赋值操作,将需要上传的文件的路径赋给控件
adFileUpload.sendKeys(filePath);

10. 拖拉(Drag and Drop)

 // 定义第一个元素
WebElement element =driver.findElement(By.name("source"));
// 定义第二个元素
WebElement target = driver.findElement(By.name("target"));
// 将第一个元素拖拽到第二个元素
(new Actions(driver)).dragAndDrop(element, target).perform();

11. 鼠标悬停(Mouse MoveOn)

 Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.id("id"))).perform();

Java+selenium之WebDriver页面元素的操作(三)的更多相关文章

  1. Java&Selenium自动化测试实现页面元素、页面对象及测试代码分离

    一.摘要 本篇博文将介绍自动化测试实现页面元素.页面对象及测试代码分离在自动化框架中的实现 二.解析页面元素定位信息 首先,将页面元素与实际的代码分离,首先我们将页面元素定位信息和定位表达式保存在属性 ...

  2. Java+selenium之WebDriver模拟鼠标键盘操作(六)

    org.openqa.selenium.interactions.Actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用 perform()方法进行执行 ...

  3. Java&Selenium调用JS实现高亮被操作页面元素高亮

    Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...

  4. selenium 总结篇,常见方法和页面元素的操作

    今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio b ...

  5. 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)

    1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...

  6. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

  7. 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)

    1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...

  8. Python+Selenium自动化-定位页面元素的八种方法

    Python+Selenium自动化-定位页面元素的八种方法   本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...

  9. selenium java maven 自动化测试(二) 页面元素获取与操作

    在第一节中,我们已经成功打开了页面,但是自动化测试必然包含了表单的填写与按钮的点击. 所以在第二章中我以博客园为例,完成按钮点击,表单填写 还是以代码为准,先上代码: package com.ryan ...

随机推荐

  1. scrapy基础 之 静态网页实例

    1,scrapy爬虫基本流程: 1. 创建一个新的Scrapy Project > scrapy startproject 项目名称    #系统会在当前目录下创建一个项目名称命名的文件夹,其下 ...

  2. RabbitMQ应用场景

    1.背景 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现. 2.应用场景 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信, ...

  3. flask 源码剖析

    flask 上下文管理源码流程及涉及的部分技术点 [flask源码梳理]之一  偏函数_mro [flask源码梳理]之二  面向对象中__setattr__ [flask源码梳理]之三  Local ...

  4. linux 用户空间获得纳秒级时间ns【转】

    转自:https://www.cnblogs.com/kekukele/p/3662816.html 一.引言 我们在测试程序的性能的时候往往需要获得ns级的精确时间去衡量一个程序的性能,下面介绍下l ...

  5. BCG界面库

    之前用过BCG界面库中的表格控件,深感其强大,现在再来用一下其它的. 一.   关于BCGControlBar. BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些 ...

  6. 使用命令行解析php文件

    使用命令行解析php文件,这样可以调用Log4PHP库中的一些demo,因为默认的输出使用命令行作为输出. 建一个bat文件: echo 以下是使用命令行解析php文件 C:\xampp\php\ph ...

  7. 其他-n个互相独立的连续随机变量中第i小的数值期望

    提出问题 有\(n\)个互相独立的\(0\)至\(1\)之间等概率生成的随机变量,求从小到大排序后第\(i\)个数的数值期望 一个简化的问题 我们先来求解一个简化的问题:最大值的数值期望是多少? 我们 ...

  8. Java的if判断对象为null时,null放在比较运算符的左边还是右边较好?

    如java中:if(name == null)和if(null == name)有什么讲究吗? 答:在java里面,它们是一样的.但是通常写为null == name.这其实是在C语言里面引申出来的. ...

  9. 日期控件datepicker的使用

    引入JS: <script type="text/javascript" src="static/my/js/bootstrap-datepicker.min.js ...

  10. 【Tomcat】tomcat内存配置登记册

    20141202: 环境:windows2003 tomcat6.x jdk1.6 启动方式:windows服务方式启动 启动异常:java.lang.OutOfMemoryError: PermGe ...