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元素操作的更多相关文章

  1. Java Selenium - 元素操作 (二)

    一篇概括了常用的元素定位方法,但是找到元素还是不够的,模拟鼠标的操作,完成各个功能点的自动操作才是关键. 下面是常见的页面元素操作会涉及到的方法,不是很全,比较复杂的后面单独拿出来做案例. 一, 输入 ...

  2. Java Selenium - 元素操作 (四)

    四,弹出框 京东购物车为例 , 点击‘删除’ 或者‘移到我的关注’ ,就会弹出下面这个框框,练吧: (其实这也不是常规的弹出框,二是div css前端技术做的效果,本想做个Alert的案例,实在不好找 ...

  3. Java Selenium - 元素操作 (三)

    接上一篇,我们依然以京东的网站做示例. 三,单选项 下面来做这样一条case: 1. 登录京东旅行网页. 2. 在国内机票板块,购买从北京到武汉的往返机票,时间为明天出发,一周后返回. 3.搜索机票. ...

  4. java selenium (九) 常见web UI 元素操作 及API使用

    本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录  链接(link) <div> <p>链接 link</p> <a href=" ...

  5. selenium怎么操作web页面常见的元素

    总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...

  6. selenium在操作隐藏元素时会报错,怎么判断元素是隐藏的?

    首先页面元素隐藏有五种方法: 1. opacity: 0; opacity 属性的意思是设置一个元素的透明度.它不是为改变元素的边界框(bounding box)而设计的.这意味着将 opacity ...

  7. selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)

    上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作 (1)简单元素操作 简单元素操作 find_element_by_id("kw") ...

  8. Selenium系列之--04 常见元素操作总结

    一.Selenium总共有八种定位方法  By.id()  通过id定位 By.name()  通过name 定位 By.xpath() 通过xpath定位 By.className() 通过clas ...

  9. java+selenium元素定位和元素操作

    1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: fin ...

随机推荐

  1. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  2. String类和StringBuffer类的区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  3. YARN资料收集

    hdfs2的HA:  http://www.cnblogs.com/meiyuanbao/p/hadoop2.html

  4. GSM Hacking Part② :使用SDR捕获GSM网络数据并解密

    0×00 在文章第一部分 GSM Hacking Part① :使用SDR扫描嗅探GSM网络 搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的数据中解密 ...

  5. 使用xib创建cell时 bug

    UITableView (<UITableView: 0x15799a800; frame = (0 4797; 375 733); clipsToBounds = YES; tag = 305 ...

  6. UE4 通过HTTP 接受JPG并动态 构建 UTexture2D 简单例子

    s void UChildBaseUserWidget::setTextureFromLoadImg(FHttpRequestPtr _request, FHttpResponsePtr _respo ...

  7. Maven 标签详解

    <span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.or ...

  8. linux命令:文件属性

    Linux 文件的属性主要包括:节点.种类.权限模式.链接数量.所归属的用户和用户组.文件大小.最近访问或修改的时间等内容. 命令: ls -lih 输出: [root@localhost test] ...

  9. 黑马.net12期视频教程

    完整高清视频http://www.ggfenxiang8.com/?p=301

  10. JavaScript中本地对象、内置对象和宿主对象

    链接:http://www.cnblogs.com/luckyXcc/p/5892896.html(Milk.╮的博客园提供) 其中内置对象只有两种:ECMA-262 只定义了两个内置对象,即 Glo ...