selenium元素操作
1、文本框(text field or textarea)
element.sendKeys(“test”);//在输入框中输入内容:
element.clear(); //将输入框清空
element.getText(); //获取输入框的文本内容:
2、下来选择框(select)
Select select = new Select(driver.findElement(By.id("select")));
select.selectByVisibleText(“A”);
select.selectByValue(“1”);
select.deselectAll();
select.deselectByValue(“1”);
select.deselectByVisibleText(“A”);
select.getAllSelectedOptions();
select.getFirstSelectedOption();
3、单选项(Radio Button)
WebElement radio=driver.findElement(By.id("BookMode"));
radio.click(); //选择某个单选项
radio.clear(); //清空某个单选项
radio.isSelected(); //判断某个单选项是否已经被选择
4、多选项(checkbox)
WebElement checkbox = driver.findElement(By.id("myCheckbox."));
checkbox.click();
checkbox.clear();
checkbox.isSelected();
checkbox.isEnabled();
5、按钮(button)
WebElement btn= driver.findElement(By.id("save"));
btn.click(); //点击按钮
btn.isEnabled (); //判断按钮是否enable
6、弹出对话框(popup dialogs)
Alert alert = driver.switchTo().alert(); alert.accept(); //确定
alert.dismiss(); //取消
alert.getText(); //获取文本
6、表单(form)
Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
或
approve.submit();//只适合于表单的提交
7、上传文件
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
8、windows和frames切换
driver.switchTo().defaultContent(); //返回到最顶层的frame/iframe
driver.switchTo().frame("leftFrame"); //切换到某个frame:
driver.switchTo().window("windowName"); //切换到某个window
9、超时设置
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //识别元素时的超时时间
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //页面加载时的超时时间
driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); //异步脚本的超时时间
10、调用JavaScript
1)webdriver中使用js
//1、初始化JavascriptExecutor
WebDriver dr = new InternetExplorerDriver(); //定义IE浏览器 //WebDriver driver = new FirefoxDriver();定义火狐
JavascriptExecutor js = (JavascriptExecutor) driver; //2、直接传入JavaScript代码
js.executeScript("window.document.getElementById('jingshou').click()"); //3、传入webelement执行js
WebElement thelink = driver.findElement(By.xpath("//a[text()='预付卡']"));// 或者 By.xpath("//*[@id='row_prepay']/a")
js.executeScript("arguments[0].click()", thelink);
// 其中arguments[0]就代表element
WebElement thelink = driver.findElement(By.id("jingshou"));
js.executeScript("arguments[0].onclick=function(){alert('This is my alert!');}", element)
// 其中arguments[0]就代表div,arguments[1]就代表"height:1000px"
WebElement div = driver.findElemnt(By.id("myDiv"));
js.executeScript("arguments[0].setAttribute('style', arguments[1])", div, "height: 1000px");
2)java中使用js
//1、初始化
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript"); //2、加载js
String jsfile = "D:/test.js";
engine.eval(new FileReader(jsfile )); //3、初始invocable对象
// Invocable 接口: 允许java平台调用脚本程序中的函数或方法
Invocable inv = (Invocable) engine; //4、调用方法 //调用js文件方法
inv.invokeFunction("run1", new Object[]{"aa","bb"}); //直接在java中定义方法
engine.eval("function run(aa) {println('打印结果:www.java2s.com:'+aa); return aa}");
String aa = (String)inv.invokeFunction("run", "haoba");
11、遍历表格
List<WebElement> tables = driver.findElements(By.id("mytable"));
//获取table标签元素
WebElement table = tables.get(1);
List<WebElement> rows = table.findElements(By.tagName("tr"));
for (WebElement row : rows) {
List<WebElement> cols = row.findElements(By.tagName("td"));
boolean flag = false;
for (WebElement col : cols) {
if (col.getText().equals("execInvestPlanQuartzTriger")) {
flag = true;
}
if (flag && col.getText().contains("立即执行")) {
Reporter.log("#############表格内容:" + col.getText());
WebElement element = col.findElements(By.tagName("span")).get(1).findElement(By.linkText("立即执行"));
UIUtils.getElementByXpath(driver, "//*[@id=\"run_execInvestPlanQuartzTriger_0\"]/a").click();
UIUtils.waitMoment();
Autoit3.runAsync("弹出框.au3");
UIUtils.waitMoment();
break;
}
}
}
selenium元素操作的更多相关文章
- Java Selenium - 元素操作 (二)
一篇概括了常用的元素定位方法,但是找到元素还是不够的,模拟鼠标的操作,完成各个功能点的自动操作才是关键. 下面是常见的页面元素操作会涉及到的方法,不是很全,比较复杂的后面单独拿出来做案例. 一, 输入 ...
- Java Selenium - 元素操作 (四)
四,弹出框 京东购物车为例 , 点击‘删除’ 或者‘移到我的关注’ ,就会弹出下面这个框框,练吧: (其实这也不是常规的弹出框,二是div css前端技术做的效果,本想做个Alert的案例,实在不好找 ...
- Java Selenium - 元素操作 (三)
接上一篇,我们依然以京东的网站做示例. 三,单选项 下面来做这样一条case: 1. 登录京东旅行网页. 2. 在国内机票板块,购买从北京到武汉的往返机票,时间为明天出发,一周后返回. 3.搜索机票. ...
- java selenium (九) 常见web UI 元素操作 及API使用
本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录 链接(link) <div> <p>链接 link</p> <a href=" ...
- selenium怎么操作web页面常见的元素
总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...
- selenium在操作隐藏元素时会报错,怎么判断元素是隐藏的?
首先页面元素隐藏有五种方法: 1. opacity: 0; opacity 属性的意思是设置一个元素的透明度.它不是为改变元素的边界框(bounding box)而设计的.这意味着将 opacity ...
- selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)
上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作 (1)简单元素操作 简单元素操作 find_element_by_id("kw") ...
- Selenium系列之--04 常见元素操作总结
一.Selenium总共有八种定位方法 By.id() 通过id定位 By.name() 通过name 定位 By.xpath() 通过xpath定位 By.className() 通过clas ...
- java+selenium元素定位和元素操作
1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: fin ...
随机推荐
- 小型资源管理器,IO操作,读取和写入文件和目录的常用操作
解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: private void Form1_Load( ...
- MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
- u-boot学习笔记(一):基础概念
1.U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目.U-Boot的作用是系统引导.U-Boot从FADSROM.8xxROM.PPCBOOT逐步发展演化 ...
- c语言中gets ,getschar 和fgets 的用法及三者之间的差别,还有scanf
①gets [1]函数:gets(字符指针) [2]头文件:stdio.h(c中),c++不需包含此头文件 [3]原型:char*gets(char*buffer); [4]功能:从stdin流中读取 ...
- Microsoft Visual C++ Compiler for Python 2.7
Extest.c文件:#include <stdio.h> #include <stdlib.h>#include <string.h>#include " ...
- CentOS下查看进程和删除进程
1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...
- (转)JS产生随机数的几个用法!
原文 1 <script> 2 function GetRandomNum(Min,Max) 3 { 4 var Range = Max - Min; 5 var Rand = Math. ...
- ListView 的优化(原)
随着ListView的不断深入使用,对于其的优化是必不可免的一个过程,现把其常见的优化步骤分享下,一些粗浅见识... 优化分四步走: 第一,复用convertView对象,如果之前有条目对象,就复用, ...
- 学android: android-studio从main开始
android-studio 创建hello world很容易,一路next创建blank activity,再接好手机或者avd(andorid virtual device)就好了. 但是对于我 ...
- FTP应答码&响应码
2016-06-16 00:57:25 110: 重新启动标记应答. 120: 在n分钟内准备好 125: 连接打开准备传送 150: 打开数据连接200: 命令成功202: 命令失败211: 系统状 ...