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多线程
Nov 14 Python
Python中格式化format()方法详解
Apr 01 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 Python
Python for循环生成列表的实例
Jun 15 Python
numpy中loadtxt 的用法详解
Aug 03 Python
python实现桌面壁纸切换功能
Jan 21 Python
Python参数类型以及常见的坑详解
Jul 08 Python
flask实现验证码并验证功能
Dec 05 Python
Django+python服务器部署与环境部署教程详解
Mar 30 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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
sae使用smarty模板的方法
2013/12/17 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
js 窗口抖动示例
2013/09/04 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
python中尾递归用法实例详解
2015/04/28 Python
python基础教程项目三之万能的XML
2018/04/02 Python
对pandas中时间窗函数rolling的使用详解
2018/11/28 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
关于Python-faker的函数效果一览
2019/11/28 Python
PyTorch实现AlexNet示例
2020/01/14 Python
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
开业庆典邀请函
2014/01/08 职场文书
小学教研工作制度
2014/01/15 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
学校节能减排方案
2014/06/13 职场文书
女生节标语
2014/06/26 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书