//本来想着用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简单案例自动添加数据的更多相关文章

  1. ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__

    public function zhuCe(){//自定义zhuCe方法和zhuCe显示表里的__ACTiON__这个相互交接 //实现两个逻辑 //1,显示注册页面 //2.向数据库添加内容 //自 ...

  2. JSP(4)—Cookie创建及简单案例(自动登录)

    Cookie的创建: 创建一个JSP页面,第一次访问时显示没有Cookie,正在创建,再次访问就会自动显示cookie的名称,并设置cookie过期时间 <% //在javaweb规范中使用Co ...

  3. Selenium+java - 手把手一起搭建一个最简单自动化测试框架

    写在前面 我们刚开始做自动化测试,可能写的代码都是基于原生写的代码,看起来特别不美观,而且感觉特别生硬. 来看下面一段代码,如下图所示: 从上面图片代码来看,具体特征如下: driver对象在测试类中 ...

  4. 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行

    [微信支付]分享一个失败的案例 2018-06-04 08:24 by stoneniqiu, 2744 阅读, 29 评论, 收藏, 编辑 这个项目是去年做的,开始客户还在推广,几个月后发现服务器已 ...

  5. T-SQL - query01_创建数据库|创建表|添加数据|简单查询

    时间:2017-09-29  整理:byzqy 本篇以"梁山好汉花名册"为例,记录MS SQLServer T-SQL语句的使用,包含命令: 创建数据库 | 删除数据库 创建表 | ...

  6. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  7. javascript之JSON小案例,实现添加数据与清楚数据

    对json应用给出一个小案例,加深一些理解: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...

  8. 10分钟完成一个最最简单的BLE蓝牙接收数据的DEMO

    这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连 ...

  9. oracle添加数据时主键自动增长

    CREATE TABLE STUDENT( --创建学生表  ID NUMBER(10) PRIMARY KEY,   --主键ID  SNAME VARCHAR2(20), ); 此时给学生表添加数 ...

随机推荐

  1. Markdown表格宽度调整

    Markdown 表格默认宽度是根据内容来的,如果某一列内容很长的话会将其他列的宽度占用导致显示样式很丑.我们可以在表格前增加 CSS 样式来限制列的宽度: <style> table t ...

  2. Java多线程之线程的互斥处理

    Java多线程之线程的互斥处理 一.前言 多线程程序中的各个线程都是自由运行的,所以它们有时就会同时操作同一个实例.这在某些情况下会引发问题.例如,从银行账户取款时,余额确认部分的代码应该是像下面这样 ...

  3. 六大设计原则(C#)

    为什么要有设计原则,我觉得一张图片就可以解释这一切 一.单一职责原则(SRP) 对于一个类而言,应该只有一个发生变化的原因.(单一职责不仅仅是指类) 如果一个模块需要修改,它肯定是有原因的,除此原因之 ...

  4. Elasticsearch核心技术(2)--- 基本概念(Index、Type、Document、集群、节点、分片及副本、倒排索引)

    Elasticsearch核心技术(2)--- 基本概念 这篇博客讲到基本概念包括: Index.Type.Document.集群,节点,分片及副本,倒排索引. 一.Index.Type.Docume ...

  5. 【牛客Wannafly挑战赛12】 题解

    传送门:https://www.nowcoder.com/acm/contest/79#question 说是比赛题解,其实我只会前三题: 后面的一定补 T1 题意,在一个长度为n的时间内,问如何选择 ...

  6. 牛课练习赛34 Flittle w and Discretization 主席树维护Mex

    ittle w and Discretization 主席树维护Mex. 每个右端点 r 维护出一棵 在[1, r ] 区间中 其他所有的 值离这个 r 最近的的位置是多少. 然后询问区间[L,R]的 ...

  7. codeforces 807 E. Prairie Partition(贪心+思维)

    题目链接:http://codeforces.com/contest/807/problem/E 题意:已知每个数都能用x=1 + 2 + 4 + ... + 2k - 1 + r (k ≥ 0, 0 ...

  8. 常用分享功能.超级简单,qq 微信 新浪微博分享

    <div id="share"> <a href="javascript:void(0)" share-type="qzone&qu ...

  9. 使用FreePBX和第三方线路对接

    首先搭建好相关环境 在FreePBX的web-gui控制界面进行操作. 通信接口连接--->中继  先创建一条中继线路: 创建中继 设置这条线路 优先级为0 中继名: 设置一个名字 Outgoi ...

  10. springboot打包jar包后运行

    我们知道,spring boot内嵌tomcat,打包成jar包以后,直接就可以运行. 我们也可以使用启动项里面的mian入口来运行程序. 运行jar包时,我们一般是java -jar xxx.jar ...