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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
python中列表元素连接方法join用法实例
Apr 07 Python
python类装饰器用法实例
Jun 04 Python
Python+Opencv识别两张相似图片
Mar 23 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
django中使用POST方法获取POST数据
Aug 20 Python
在django模板中实现超链接配置
Aug 21 Python
python 实现兔子生兔子示例
Nov 21 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
pycharm代码删除恢复的方法
Jun 26 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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
php截取后台登陆密码的代码
2012/05/05 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
Python求导数的方法
2015/05/09 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
python制作简单五子棋游戏
2019/06/18 Python
Python换行与不换行的输出实例
2020/02/19 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
给同事的道歉信
2014/01/11 职场文书
英语教学随笔感言
2014/02/20 职场文书
倡议书的写法
2014/08/30 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
关于工作经历的证明书
2014/10/11 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫