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 ...
随机推荐
- [TensorFlow笔记乱锅炖] tf.multinomial(logits, num_samples)使用方法
tf.multinomial(logits, num_samples) 第一个参数logits可以是一个数组,每个元素的值可以简单地理解为对应index的选择概率,注意这里的概率没有规定加起来的和为1 ...
- sqlserver开窗函数在财务对账中的用法
曾几何时发现开窗函数在财务对账总特别好用.但是每次可能很久没用,逻辑都要重头来过.特此留一份完整的思考逻辑待日后参考. 以下是数据源: 从上面的数据可以看到通过C列,那么只需要两个条件即可获得已经用对 ...
- P4126 [AHOI2009]最小割
题目地址:P4126 [AHOI2009]最小割 最小割的可行边与必须边 首先求最大流,那么最小割的可行边与必须边都必须是满流. 可行边:在残量网络中不存在 \(x\) 到 \(y\) 的路径(强连通 ...
- Linker Scripts3--SECTIONS Command
1.前言 SECTIONS命令告诉链接器如何映射输入段到输出段以及在内存中如何放置输出段,SECTIONS命令的格式如下: SECTIONS { sections-command sections-c ...
- svn更新出现冲突的解决方法
Conflict discovered in '/Users/apple/EtaxiAppServer/common/src/com/yaotaxi/db/MongoDBHelper.java'. S ...
- java 解压缩 中文名称问题
public List<String> unZip(String pathString, String zipPathString) { long startTime = System.c ...
- WPA简介
摘选自 https://www.sohu.com/a/199641521_683126 WPA 全名 WI-FI Protected Access, 有WPA 和WPA2两个标准,是一种保护无线网络的 ...
- $Django RESTful规范
一 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度 ...
- FS 日志空间限定
一.说明: FS默认安装的log文件,仅仅的限制了每个文件的大小,但是没有限制文件的个数.这种情况下,在FS运行很长时间之后,会出现物理空间不够的情况,导致FS或者mysql 或者其他应用没有空间使用 ...
- 在Centos7 上安装SVN
https://blog.csdn.net/crossangles_2017/article/details/78553266 1.安装 使用yum安装非常简单: yum install subver ...