Java+Selenium自动化对非输入框的日历或日期控件的处理
如图:

1、问题描述:
在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就有点难了。
2、想法:
其实很简单,把它当做输入框来看就好了,使用selenium的sendKeys对输入框输入日期则可。
driver.findElement(By.id("createTime")).sendKeys("2016-08-24");//输入日期
3、想法是很美好的,但是有时候实行起来却不执行,这个时候我们就要仔细去看看前端的代码了,代码如下:
<div class="col-lg-3 form-input">
、这个时候我们可以移除readonly的属性,问题就轻轻松松解决了,代码如下:
String js = "document.getElementById('createTime').removeAttribute('readonly')"; // 原生js,移除属性
((JavascriptExecutor)driver).executeScript(js); //将driver强制转换为JavascriptExecutor类型
driver.findElement(By.id("createTime")).sendKeys("2016-08-24"); //输入日期
5、代码里面一定要记得导入这个方法:
import org.openqa.selenium.JavascriptExecutor;
Java+Selenium自动化对非输入框的日历或日期控件的处理的更多相关文章
- Selenium自动化对非输入框的日历或日期控件的处理
4.这个时候我们可以移除readonly的属性,问题就轻轻松松解决了,代码如下: String js = "document.getElementById('createTime').rem ...
- my97DatePicker日期控件——日期输入框联动,使用focus使第二个输入框没展示出日期控件
描述问题场景: 1.jquery使用的版本是jquery-1.7.2.min.js 2.代码不是写在页面上的,是通过事件后追加的 <!DOCTYPE html> <html> ...
- Selenium+java - 日期控件的处理
前言 一般的日期控件都是input标签下弹出来的,设置日期使用selenium中的sendKeys 方法就可以解决. 但是我们也会碰到下面的时间日期控件(这个时候这个文本框是不允许我们输入时间的)如图 ...
- selenium webdriver自动化对日期控件的处理
用JS去掉日期输入框的readOnly属性. 代码如下: ----------------------------------------------------------------------- ...
- python selenium 处理时间日期控件(十六)
测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日 ...
- Selenium 日期控件处理
在WEB测试时,我们会碰到需要输入日期的情况,如果输入框能直接输入,那最好不过了.但是很多时候,输入框是不可输入的,必须的点击日期控件才行. 现在就来聊聊对日期控件的两种操作方法,我们以12306网站 ...
- [原创] Web UI 自动化日期控件的处理
序 在构建自动化套件的过程中,日期操作是一件很重要也很频繁的事情.有的日期控件的div层级结构复杂,同一个类型的日期控件在多个子系统中的表现形式也大相径庭.多数工程师为了避免重复的工作,会封装抽象一个 ...
- 介绍Web项目中用到的几款JS日历日期控件和JS文本编辑框插件
第一款日历日期控件:layDate 官方网站:http://laydate.layui.com/ 第二款日历日期控件:my97 官方网站:http://www.my97.net/ 第三款 文本编辑器控 ...
- 时间日期控件的处理-Selenium
很多人问时间日期的空间怎么处理,但是时间日期控件各种各样,你可能遇到正常点的像这样: 当然也可能遇到难点的,像这样: 当然,也不排除会遇到变态的,像这样: 呵呵,真要一个个想着怎么去选择,简直是非人类 ...
随机推荐
- Django2.X报错-------ModuleNotFoundError: No module named 'django.core.urlresolvers'
django2.0 把原来的 django.core.urlresolvers 包 更改为了 django.urls包.所以将导入的包修改为django.urls.
- 触摸事件,手势识别(UITouch,UIGestureRecognizer)
触摸发生时,UIWindow会有一个队列来存放所有的触摸事件,然后再把这些事件发送给对应的hit-test view,hit-test view会通过touch的四个函数来接收这些事件. 四个函数分别 ...
- Linux OS7 常用
查看防火墙状态: firewall-cmd --state;停止firewall: systemctl stop firewalld.service;禁止firewall开机启动:systemctl ...
- 恢复oracle 11g 的System及sys用户的密码
进入E:\app\orcl\product\11.2.0\dbhome_1\database目录下找到PWDorcl.ora备份后删除文件,orcl是数据库的实例名 以管理员身份打开cmd,执行 or ...
- StreamReader和StreamWriter说明
StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte) FileStream与StreamXXXX类的默认编码都是UTF8, ...
- python待学习内容
1.Python中不尽如人意的断言Assertion https://www.cnblogs.com/cicaday/p/python-assert.html 2.Python中的反转字符串问题 ht ...
- vue axios跨域
现在应用都是前后端分离,这也造成前端在调用接口时出现跨域问题,在控制台会这样提示 ,如果有类似于此图的提示,就已经表明你的接口调用出现了跨域问题,此文章是我对于vue跨域其中一种方式的一些经验,如果错 ...
- JSP(介绍,语法,指令)
什么是JSP JSP全名为Java Server Pages,java服务器页面.JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! JSP的工作原理 其实JSP在第一次被访问的时 ...
- time 命令
语法 time [options] COMMAND [arguments] 参数 -o 或 --output=FILE:设定结果输出档.这个选项会将 time 的输出写入 所指定的档案中.如果档案已经 ...
- Mysql数据库左外连接,右外连接,模糊查询
内连接,左外连接,右外连接都是数据库的常用连接与使用手段 内连接 select * from assets_car c inner join category c on a.id = c.id; 左外 ...