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 相关文章推荐
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
python编写分类决策树的代码
Dec 21 Python
对命令行模式与python交互模式介绍
May 12 Python
Python中__slots__属性介绍与基本使用方法
Sep 05 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
python实现年会抽奖程序
Jan 22 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Python socket服务常用操作代码实例
Jun 22 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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实现简单的随机抽奖小程序
2016/01/05 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
python使用Matplotlib画饼图
2018/09/25 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
实习护士自我鉴定
2013/10/13 职场文书
QA工程师岗位职责
2013/11/20 职场文书
家长写给老师的建议书
2014/03/13 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
员工薪酬激励方案
2014/06/13 职场文书
七一党日活动总结
2014/07/08 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
Python中字符串对象语法分享
2022/02/24 Python
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技