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 ...
随机推荐
- 布局容器layout Container
画布canvas 盒子Box VBox Hbox-->HGroup VGroup 控制条 ControlBar
- JS弹窗数据带回
父窗口代码: function selectCar_Team_Info(){ //var url = "<%=basepath_%>ec/jsp/carLoading/carTe ...
- STL库中的正态分布函数
在设计抽奖一类程序中,有时会需要一种概率“有较大可能获得一个普通结果,有较小可能获得一个糟糕或极好的结果”,这就可以用正态分布函数来获得这样一个结果. STL中已经提供了一系列随机分布的函数,包括正态 ...
- select2插件
引入select2插件<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min. ...
- js 闭包演示
function test2() { var scope = "global scope"; var f = enclose(scope); scope = 'aaa'; aler ...
- web框架思考
以前一直不明白web框架是怎样实现路由.orm.接受请求的.今天看了下廖雪峰的python 实现web框架博客才明白. 简单总结并记录: http请求->wsgi->处理请求->返回 ...
- Linux shell:FTP(文件传输协议)上传下载命令
SecureCRT通过ftp将nmon上传,建立一个目录,用命令上传文件.[命令见下面] 或通过UE.SSH上传/下载,使用sftp建立链接. [通过cmd进入ftp服务器]先假设有一FTP服务器,F ...
- 在sublime text 3中设置浏览器预览快捷键
1.安装 SideBarEnhancements ctrl+shift+p,进入命令模式,然后输入package control(或者直接输 pci 或许也行),回车: 输入:SideBarEnhan ...
- 类似baidu搜索 修正jquery的autocomplete在firefox下不支持中文输入法的bug
解决方法:
- IntelliJ IDEA 工具常用快捷键
IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(git.svn.g ...