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 图片验证码代码分享
Jul 04 Python
在python中的socket模块使用代理实例
May 29 Python
Python模拟脉冲星伪信号频率实例代码
Jan 03 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python常用模块之requests模块用法分析
May 15 Python
如何通过python画loss曲线的方法
Jun 26 Python
python pandas生成时间列表
Jun 29 Python
Django模型修改及数据迁移实现解析
Aug 01 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
python文件排序的方法总结
Sep 13 Python
利用Python函数实现一个万历表完整示例
Jan 23 Python
Python爬虫之爬取二手房信息
Apr 27 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
编译问题
2006/10/09 PHP
杏林同学录(五)
2006/10/09 PHP
html中select语句读取mysql表中内容
2006/10/09 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
javascript创建和存储cookie示例
2014/01/07 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
详解datagrid使用方法(重要)
2020/11/06 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
Python的垃圾回收机制详解
2019/08/28 Python
python tkinter控件布局项目实例
2019/11/04 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
python梯度下降算法的实现
2020/02/24 Python
Python request操作步骤及代码实例
2020/04/13 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
大学生优秀自荐信范文
2014/02/25 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
作文批改评语
2014/12/25 职场文书
英语复习计划
2015/01/19 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
话题作文之呼唤
2019/12/18 职场文书
Python语言内置数据类型
2022/02/24 Python
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫
Python面试不修改数组找出重复的数字
2022/05/20 Python