首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium Java Date Picker

Selenium Java Date Picker
EN

Stack Overflow用户
提问于 2016-02-25 17:24:39
回答 2查看 286关注 0票数 0

我是新来的。请原谅任何奇怪的问题。我需要在网页表格里填一个日期。THe表单有一个基于此HTML代码的日期选择器:

我的代码如下所示:

代码语言:javascript
复制
driver.findElement(By.id("FDD_Create_EntryDate")).sendKeys("26.02.2016");

我确实假设这不是全神贯注的,也不是有效的。我真的很感谢你的帮助和支持。

EN

回答 2

Stack Overflow用户

发布于 2016-02-25 17:30:48

代码语言:javascript
复制
 //Click on textbox so that datepicker will come  
  driver.findElement(By.id("datepicker")).click();  
  driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);  
 //Click on next so that we will be in next month  
  driver.findElement(By.xpath("Pat to ur date picker")).click();  

 /*DatePicker is a table.So navigate to each cell   
 * If a particular cell matches value 13 then select it  
 */  
 WebElement dateWidget = driver.findElement(By.id("ui-datepicker-div"));  
List<webelement> rows=dateWidget.findElements(By.tagName("tr"));  
List<webelement> columns=dateWidget.findElements(By.tagName("td"));  

for (WebElement cell: columns){  
 //Select 26 Date   
 if (cell.getText().equals("26")){  
 cell.findElement(By.linkText("13")).click();  
 break;  
 }  
 }   
}  
票数 0
EN

Stack Overflow用户

发布于 2016-02-25 17:49:23

这是一个有点厚颜无耻的解决方案,但你能不能只执行一些javascript来使日期输入字段不是只读的?如下所示:

代码语言:javascript
复制
((JavascriptExecutor)driver).executeScript
    (    
        "arguments[0].removeAttribute('readonly');", 
        driver.findElement(By.id("FDD_Create_EntryDate"))
    );
driver.findElement(By.Id("FDD_Create_EntryDate")).sendKeys("26.02.2016");

这将需要测试人员发送的日期的正确格式,但如果您不关心测试实际的日期小部件,这可以为您节省大量时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35623119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档