selenium webdriver——JS操作日历控件


一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期,

1. 定位到该input

2. 使用sendKeys 方法 

比如

但是,有的日期控件是readonly的

比如12306的这个

<input id="train_date" class="inp-txt" type="text" value="" name="leftTicketDTO.train_date" autocomplete="off" maxlength="10" readonly="readonly">

这个时候,没法调用WebElement的sendKeys()


方法1:使用JS remove readonly attribute,然后sendKeys

JavascriptExecutor driver_js= (JavascriptExecutor) driver;
driver_js.executeScript("arguments[0].removeAttribute(\"readonly\") ", driver.findElement(By.id("train_date")));
driver.findElement(By.id("train_date")).clear();
driver.findElement(By.id("train_date")).sendKeys("2016-08-20");

 

方法2:使用JS输入

JavascriptExecutor driver_js= (JavascriptExecutor) driver;
driver_js.executeScript("arguments[0].value=\"2016-08-20\"",driver.findElement(By.id("train_date")));

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM