Java+selenium之WebDriver页面元素的操作(三)
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页面元素的操作(三)的更多相关文章
- Java&Selenium自动化测试实现页面元素、页面对象及测试代码分离
一.摘要 本篇博文将介绍自动化测试实现页面元素.页面对象及测试代码分离在自动化框架中的实现 二.解析页面元素定位信息 首先,将页面元素与实际的代码分离,首先我们将页面元素定位信息和定位表达式保存在属性 ...
- Java+selenium之WebDriver模拟鼠标键盘操作(六)
org.openqa.selenium.interactions.Actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用 perform()方法进行执行 ...
- Java&Selenium调用JS实现高亮被操作页面元素高亮
Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...
- selenium 总结篇,常见方法和页面元素的操作
今天,总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio b ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...
- 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...
- Python+Selenium自动化-定位页面元素的八种方法
Python+Selenium自动化-定位页面元素的八种方法 本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...
- selenium java maven 自动化测试(二) 页面元素获取与操作
在第一节中,我们已经成功打开了页面,但是自动化测试必然包含了表单的填写与按钮的点击. 所以在第二章中我以博客园为例,完成按钮点击,表单填写 还是以代码为准,先上代码: package com.ryan ...
随机推荐
- JavaWeb - Servlet教程
http://www.runoob.com/servlet/servlet-tutorial.html
- string.Empty, "" 和 null 三者的区别
转载:http://www.cnblogs.com/mxxblog/archive/2013/08/22/3275387.html 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得 ...
- 百度echarts样式开发
Echarts如何进行实例化 var a1 = null; a1= echarts.init(document.getElementById('a1')); a1.setOption({ color: ...
- 【MySQL】CentOS下安装及搭建主从复制
CentOS下安装MySQL 1,wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2,rpm -ivh m ...
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的 ...
- shell中的dd命令使用详解
一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...
- MD5加密算法工具类
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorith ...
- 转载:UML学习(一)-----用例图 (silent)
原文:http://www.cnblogs.com/silent2012/archive/2011/09/07/2169518.html 1.什么是用例图 用例图源于Jacobson的OOSE方法,用 ...
- 查看ubuntu版本信息
参考文章:https://blog.csdn.net/qq_27818541/article/details/75207986 版本信息lsb_release -a No LSB modules ar ...
- cocos2dx-lua控制台报错集合
1.invalid 'cobj' in function 'lua_cocos2dx_Node_getLocalZOrder' 这个报错是lua的变量还在,但是他底层对应的C++对象已被销毁.