Selenium python时间控件输入问题解决方案


Posted in Python onJuly 22, 2020

对于时间的选择问题,查到的大部分为两种情况:

1.存在readonly属性的

Selenium python时间控件输入问题解决方案

2.没有readonly属性的

可直接赋值send_keys()

测试用例中刚好是没有readonly属性的

Selenium python时间控件输入问题解决方案

且定位不到弹窗(通过查资料可知道,直接给时间控件input属性赋值是最快捷的方法)

一开始都是奔着情况二去处理的,但一直运行不成功,总是在赋值的地方出错,反复确认了不存在iFrame,句柄也都是一样的,时间控件为input属性,且是可编辑属性,但就是总报错。

判断是否可编辑的指令为:

flag=timeInput.is_enabled()
print("时间控件是否可编辑: "+str(flag))

运行结果如下:

Selenium python时间控件输入问题解决方案

后来尝试用情况一的方法进行处理,但因为查到的资料里,赋值语句有点问题(可能不适合自己的用例),由于一直没考虑到查到的语句本身有问题,导致最后还是卡死在赋值上面。还好在别的地方看到正确的赋值语句,修改了赋值语句后就正常了

具体分解步骤如下:

步骤一:修改readonly属性

#下面四种方法,任选一种即可

js = "document.getElementById('dateRange_w3').removeAttribute('readonly')" # 1.原生js,移除属性
#js = "$('input[id=dateRange_w3]').removeAttr('readonly')" # 2.jQuery,移除属性
#js = "$('input[id=dateRange_w3]').attr('readonly',false)" # 3.jQuery,设置为false
#js="$(input[id=dateRange_w3]).attr('readonly','')"

步骤二:执行

driver.execute_script(js)

步骤三:清空时间输入框: clear()

步骤四:赋值

jsValue= 'document.getElementById("dateRange_w3").value="2018-11-12 至 2018-11-13"'[/code][code]driver.execute_script(jsValue)

完整流程如下(已测试通过的,为了方便调用,部分有做了封装):

Selenium python时间控件输入问题解决方案

Selenium python时间控件输入问题解决方案

运行结果可看出,时间可正常输入

Selenium python时间控件输入问题解决方案

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python fabric实现远程操作和部署示例
Mar 25 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
Python爬取qq music中的音乐url及批量下载
Mar 23 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
一文秒懂python读写csv xml json文件各种骚操作
Jul 04 Python
Python实现socket非阻塞通讯功能示例
Nov 06 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
利用Python网络爬虫爬取各大音乐评论的代码
Apr 13 Python
Python基于字典实现switch case函数调用
Jul 22 #Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 #Python
使用python批量修改XML文件中图像的depth值
Jul 22 #Python
Python持续监听文件变化代码实例
Jul 22 #Python
Python不支持 i ++ 语法的原因解析
Jul 22 #Python
基于selenium及python实现下拉选项定位select
Jul 22 #Python
Python实现手绘图效果实例分享
Jul 22 #Python
You might like
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
Yii配置文件用法详解
2014/12/04 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
bootstrap轮播图示例代码分享
2017/05/17 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
python+opencv实现阈值分割
2018/12/26 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
用python写PDF转换器的实现
2020/10/29 Python
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
html5唤醒APP小记
2019/03/27 HTML / CSS
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
保安拾金不昧表扬信
2014/01/15 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
见习报告的格式
2014/11/04 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis