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中bisect的用法
Sep 23 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
python字典排序实例详解
May 20 Python
Python带动态参数功能的sqlite工具类
May 26 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
基于Python制作一副扑克牌过程详解
Oct 19 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
基于Zend的Config机制的应用分析
2013/05/02 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
js自定义回调函数
2015/12/13 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
JS实现手写parseInt的方法示例
2017/09/24 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
python client使用http post 到server端的代码
2013/02/10 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
春节联欢会策划方案
2014/05/16 职场文书
大学生预备党员自我评价
2015/03/04 职场文书
公司搬迁通知
2015/04/20 职场文书
商务宴会祝酒词
2015/08/11 职场文书
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server