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 相关文章推荐
Python3基础之函数用法
Aug 13 Python
Python处理json字符串转化为字典的简单实现
Jul 07 Python
python2.7到3.x迁移指南
Feb 01 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
Python 字符串与数字输出方法
Jul 16 Python
对python产生随机的二维数组实例详解
Dec 13 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 Python
python中time、datetime模块的使用
Dec 14 Python
python中24小时制转换为12小时制的方法
Jun 18 Python
python基础之函数的定义和调用
Oct 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
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
如何用php获取文件名后缀
2013/06/09 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
微信小程序开发探究
2016/12/27 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
python中将字典转换成其json字符串
2014/07/16 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
实习评语
2013/12/16 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL