一个selenium简单案例自动添加数据
//本来想着用execl来录入数据的,但是为了尽快完成所以直接搞了个数组
package aldtest;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select; import sun.security.util.Length;
public class mainbody { public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub String[] data = {"呵呵","哈哈","嘿嘿","吼吼"};
WebDriver driver = new ChromeDriver();
//打开网址
driver.get("http://***.com");
//设置浏览器大小,此次设置为最大化
driver.manage().window().maximize();
//选中账号框,输入账号密码登录
driver.findElement(By.id("userName")).clear();
driver.findElement(By.id("userName")).sendKeys("test");
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("123456");
driver.findElement(By.id("btnOk")).click();
Thread.sleep(4000);
//进入首页后
driver.findElement(By.xpath("//*[@id='nav-menu']/li[6]/a")).click();
driver.findElement(By.xpath("//*[@id='nav-menu']/li[6]/ul/li[1]/a")).click();
//睡眠很重要,如果没有的话js文件未加载脚本找不到id执行不通过
Thread.sleep(2000); //循环添加数据
for(int a=0;a<data.length;a++)
{
Thread.sleep(6000);
System.out.println(a);
//添加数据点击加号
driver.findElement(By.id("addIcon")).click();
Thread.sleep(2000);
driver.findElement(By.id("meterName")).sendKeys(data[a]);
driver.findElement(By.id("brand")).sendKeys("ald");
//下拉框选择
driver.findElement(By.id("meterTypeli")).click();
driver.findElement(By.xpath("//*[@id='meterConfig']/div/div[2]/div/div[2]/div[1]/div[5]/div[2]/ul/li[1]")).click();
Thread.sleep(2000);
//使用JavaScript输出
//((JavascriptExecutor)driver).executeScript("alert(\"hello,this is a alert!\");value=\"Alert\""); //
driver.findElement(By.xpath("//*[@id='datatable']/tbody/tr[4]/td[1]/input")).click();
driver.findElement(By.xpath("//*[@id='datatable']/tbody/tr[4]/td[1]/input")).clear();
driver.findElement(By.xpath("//*[@id='datatable']/tbody/tr[4]/td[1]/input")).sendKeys(data[a]+"用");
//点击保存
driver.findElement(By.id("saveMeter")).click();
} Thread.sleep(4000); driver.quit();
//driver.close();
} }
一个selenium简单案例自动添加数据的更多相关文章
- ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__
public function zhuCe(){//自定义zhuCe方法和zhuCe显示表里的__ACTiON__这个相互交接 //实现两个逻辑 //1,显示注册页面 //2.向数据库添加内容 //自 ...
- JSP(4)—Cookie创建及简单案例(自动登录)
Cookie的创建: 创建一个JSP页面,第一次访问时显示没有Cookie,正在创建,再次访问就会自动显示cookie的名称,并设置cookie过期时间 <% //在javaweb规范中使用Co ...
- Selenium+java - 手把手一起搭建一个最简单自动化测试框架
写在前面 我们刚开始做自动化测试,可能写的代码都是基于原生写的代码,看起来特别不美观,而且感觉特别生硬. 来看下面一段代码,如下图所示: 从上面图片代码来看,具体特征如下: driver对象在测试类中 ...
- 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行
[微信支付]分享一个失败的案例 2018-06-04 08:24 by stoneniqiu, 2744 阅读, 29 评论, 收藏, 编辑 这个项目是去年做的,开始客户还在推广,几个月后发现服务器已 ...
- T-SQL - query01_创建数据库|创建表|添加数据|简单查询
时间:2017-09-29 整理:byzqy 本篇以"梁山好汉花名册"为例,记录MS SQLServer T-SQL语句的使用,包含命令: 创建数据库 | 删除数据库 创建表 | ...
- KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...
- javascript之JSON小案例,实现添加数据与清楚数据
对json应用给出一个小案例,加深一些理解: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...
- 10分钟完成一个最最简单的BLE蓝牙接收数据的DEMO
这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连 ...
- oracle添加数据时主键自动增长
CREATE TABLE STUDENT( --创建学生表 ID NUMBER(10) PRIMARY KEY, --主键ID SNAME VARCHAR2(20), ); 此时给学生表添加数 ...
随机推荐
- Java集合框架之TreeSet浅析
Java集合框架之TreeSet浅析 一.TreeSet综述: 1.1TreeSet简介: TreeSet是Java集合框架的重要成员,先来看看TreeSet在jdk1.8中的定义吧: public ...
- js数组的五种迭代遍历方式 every filter forEach map some
ECMAScript 5 为数组定义了 5 个迭代方法. 每个方法都接收两个参数 数组项的值和索引 every():对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 tru ...
- MSIL实用指南-位运算
C#支持的位运算是与.或.异或.取反.左移.右移,它们对应的指令是And.Or.Xor.Not.Shl.Shr. 取反运算只需要一个操作数,生成步骤是1.生成加载变量2.生成取反指令实例代码: ilG ...
- 用故事解析setTimeout和setInterval(内含js单线程和任务队列)
区别: setTimeout(fn,t): 延迟调用,超过了时间就调用回调函数,返回一个id,使用clearTimeout(id)取消执行. 注意:取消了里面的回调函数就不执行了哦,而不是取消的时候就 ...
- HashMap原理。图文并茂式解读。这些注意点你一定还不了解
目录 概述 属性详解 table entrySet size modCount threshold.loadFactor 源码知识点必备 getGenericInterfaces和getInterfa ...
- 洛谷P2577 [ZJOI2005]午餐 打饭时间作为容量DP
P2577 [ZJOI2005]午餐 )逼着自己做DP 题意: 有n个人打饭,每个人都有打饭时间和吃饭时间.有两个打饭窗口,问如何安排可以使得总用时最少. 思路: 1)可以发现吃饭时间最长的要先打饭. ...
- NOIP 2016 蚯蚓 题解
一道有趣的题目,首先想到合并果子,然而发现会超时,我们可以发现首先拿出来的切掉后比后拿出来切掉后还是还长,即满足单调递增,故建立三个队列即可. 代码 #include<bits/stdc++.h ...
- yzoj P2350 逃离洞穴 题解
题意 跑两边spfa的水题,注意判断有人才取最大值 代码 #include<bits/stdc++.h> using namespace std; inline int read(){ i ...
- Erlang模块supervisor翻译
概要: 通用监督者行为 描述: 一个实现监督者的行为模块,一个监督被称为子进程的其它进程的进程.一个子进程可以是另一个监督者或工作者进程.工作者进程通常的实现使用gen_event,gen_fsm ...
- 从“HDU 2005 第几天?”谈起
在程序设计中,日期时间的处理经常会遇到.在C语言程序设计的一些教材中会出现如下例子或习题. [例1]第几天? (HDU 2005) 给定一个日期,输出这个日期是该年的第几天. Input输入数据有多组 ...