selenium 操作日期控件
来源:互联网 发布:艺术类推荐信 知乎 编辑:程序博客网 时间:2024/06/07 04:43
日期控件大都是input标签下弹出来的,如果使用webdriver 去设置日期,
1. 定位到该input
2. 使用sendKeys 方法
比如:
但是,有的日期控件是readonly的,没法调用WebElement的sendKeys()
比如:
<input id="BeginTime" class="form-control" type="text" style="width:120px; float:left;" value="" readonly="readonly" placeholder="入职开始时间" name="BeginTime" data-val-date="字段 BeginTime 必须是日期。" data-val="true">
<span style="font-size: 20px; float: left;">-</s
办法一:使用JS remove readonly attribute,然后sendKeys
使用入职开始日期,将input标签的readonly熟悉去掉
JavascriptExecutor removeAttribute = (JavascriptExecutor)driver; //remove readonly attribute removeAttribute.executeScript("var setDate=document.getElementById(\"BeginTime\");setDate.removeAttribute('readonly');") ;
方法二:采用click直接选择日期,日期控件是一个iframe,首先switch iframe,之后找到想要设置的日期button click,然后switch出来
WebElement dayElement=driver.findElement(By.xpath("//span[@id='from_imageClick']"));
dayElement.click();
// WebElement frameElement=driver.findElement(By.xpath("//iframe[@border='0']"));
driver.switchTo().frame(1);
driver.findElement(By.xpath("//tr/td[@onclick='day_Click(2015,2,21);']")).click();
driver.switchTo().defaultContent();
具体代码如下:
WebDriver driver=new FirefoxDriver(); driver.get("http://172.178.0.183"); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); JavascriptExecutor removeAttribute = (JavascriptExecutor)driver;//remove readonly attributeremoveAttribute.executeScript("var setDate=document.getElementById(\"BeginTime\");setDate.removeAttribute('readonly');") ; WebElement setBeginDat=driver.findElement(By.id("BeginTime")); setBeginDat.clear();
setBeginDat.sendKeys("2015-02-18");
WebElement setEndDat=driver.findElement(By.id("EndTime"));
setEndDat.click(); // WebElement frameElement=driver.findElement(By.xpath("//iframe[@border='0']"));
driver.switchTo().frame(1);
driver.findElement(By.xpath("//tr/td[@onclick='day_Click(2015,2,21);']")).click(); driver.switchTo().defaultContent();
阅读全文
0 0
- selenium 操作日期控件
- selenium之操作日期控件
- 【Selenium】6操作控件
- 22、Selenium + Python 实现 UI 自动化测试-操作日期时间控件
- Selenium webdriver操作日历控件
- Selenium webdriver操作日历控件
- selenium常用控件的操作
- Selenium webdriver 操作日历控件
- selenium之 时间日期控件的处理
- selenium之 时间日期控件的处理
- selenium之 时间日期控件的处理
- selenium之 时间日期控件的处理
- selenium之 时间日期控件的处理
- selenium 时间日期控件的处理
- 日期控件操作大全
- selenium操作日历控件(java版本)
- Selenium自动化测试框架对于日期控件的封装
- selenium日期控件的处理之拖拽选择
- 数据结构实验之查找二:平衡二叉树
- Boost 线程
- 内存检测
- ORB
- jsonp原理实现
- selenium 操作日期控件
- 微信开发之微信网页授权 完整示例
- java加载和初始化。
- sphinx 基础介绍
- $mount() 手动挂载
- 静下心来的一周
- 断点调试出现的问题
- CAS的单点登录和oauth2的最大区别
- 用Java实现office文件转换为PDF文件