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 相关文章推荐
pymssql数据库操作MSSQL2005实例分析
May 25 Python
Python处理Excel文件实例代码
Jun 20 Python
简单实现python数独游戏
Mar 30 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
python可视化爬虫界面之天气查询
Jul 03 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
tensorflow多维张量计算实例
Feb 11 Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 Python
如何Tkinter模块编写Python图形界面
Oct 14 Python
Django配置跨域并开发测试接口
Nov 04 Python
实例讲解Python中sys.argv[]的用法
Jun 03 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中养成7个面向对象的好习惯
2010/01/28 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
纯php生成随机密码
2015/10/30 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
javascript实现留言板功能
2020/02/08 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
Python numpy 点数组去重的实例
2018/04/18 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
财务工作个人求职的自我评价
2013/12/19 职场文书
课外小组活动总结
2014/08/27 职场文书
关于教师节的广播稿
2014/09/10 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
采购内勤岗位职责
2015/04/13 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
OpenFeign实现远程调用
2022/08/14 Java/Android