python时间控件readonly属性_人生苦短,我学python之python+selenium js处理日历控件(修改readonly属性)...
转载于
上海-悠悠的博客
前言
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题。
基本思路:先用js去掉readonly属性,然后直接输入日期文本内容
一、日历控件
1.打开12306的车票查询界面,在出发日期输入框无法直接输入时间
2.常规思路是点开日历控件弹出框,从日历控件上点日期,这样操作比较烦躁,并且我们测试的重点不在日历控件上,只是想输入个时间,做下一步的操作
3.用firebug查看输入框的属性:readonly="readonly",如下:
二、去掉readonly属性
1.很明显这种元素的属性是readonly,输入框是无法直接输入的,这时候需要先去掉元素的readonly属性,然后就可以输入啦。
2.点左下角firebug的“编辑按钮”,找到对应元素,直接删除readonly="readonly",然后回车。
3.在页面出发日位置输入:yoyoketang 试试,嘿嘿,有没发现可以输入成功。当然这里只是为了验证可以输入内容,测试时候还是输入测试的日期。
三、用js去掉readonly属性
1.用js去掉元素属性基本思路:先定位到元素,然后用removeAttribute("readonly")方法删除属性。
2.出发日元素id为:train_date,对应js代码为:'document.getElementById("train_date").removeAttribute("readonly");'
四、输入日期
1.输入日期前,一定要先清空文本,要不然无法输入成功的。
2.这里输入日期后,会自动弹出日历控件,随便点下其它位置就好了,接下来会用js方法传入日期,就不会弹啦!
五、js方法输入日期
1.这里也可以用js方法输入日期,其实很简单,直接改掉输入框元素的value值就可以啦
六、参考代码如下:
# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://kyfw.12306.cn/otn/index/init")
# 去掉元素的readonly属性
js = 'document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js)
# 用js方法输入日期
js_value = 'document.getElementById("train_date").value="2016-12-25"'
driver.execute_script(js_value)
# # 清空文本后输入值
# driver.find_element_by_id("train_date").clear()
# driver.find_element_by_id("train_date").send_keys("2016-12-25")
python时间控件readonly属性_人生苦短,我学python之python+selenium js处理日历控件(修改readonly属性)...相关推荐
- python删除文件夹无法访问_人生苦短 我学Python——anaconda和Jupyter notebook安装使用...
一.人生苦短 我学Python 为什么学习Python? 1.应用范围广 很多网站是用Python开发的,比如豆瓣,还有YouTube等等. 2.效率高,和其他编程语言对比,可以用少得多的代码写出相同 ...
- python编程需要安装什么软件_[零基础学pythyon]安装python编程环境
注:推荐一种非常重要的学习方法 在我这里看文章的零基础朋友,乃至于非零基础的朋友,不要希望在这里学到很多高深的python语言技巧. "靠,那看你胡扯吗?" 非也.重要的是学会一些 ...
- Python+selenium自动化-js处理日历控件(修改readonly属性)
前言 今天写自动化脚本的时候遇到一个需要更改日期的控件,不想费劲巴拉的去找日历的定位,但是又没办法直接输入我想输的日期时间,想了会儿之后决定用js解决日历控件 基本思路:先用js去掉readonly属 ...
- 【基于python实现UI自动化】3.4 JS 处理日历控件(删除 readonly 属性)
python-UI自动化 1.0 selenium工具介绍 2.0 selenium环境搭建 3.0 selenium常见8大元素定位 3.1 selenium通过By定位元素 3.2 seleniu ...
- python时间控件readonly属性_Selenium2+python自动化----js处理日历控件(修改readonly属性)...
前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...
- python创建类统计属性_轻松创建统计数据的Python包
python创建类统计属性 介绍 (Introduction) Sometimes you may need a distribution figure for your slide or class ...
- python完全支持面向对象编程思想_面向对象的编程思想和Python的类,访问和属性,继承...
本文将从访问限制,属性,继承,方法重写这几个方面继续介绍面向对象的编程思想和Python类的继承. 复制代码 一.访问权限: Python中在类的内部定义属性和方法,在类的外部是可以直接调用或进行访问 ...
- c#控件弹幕效果_仿B站弹幕,极简Android开源弹幕控件:EasyDanmaku
EasyDanmaku 一个方便简单的Android弹幕控件,顾名思义so easy. easydanmaku easydanmaku 原理简单,纯java实现,方便修改和扩展: 体积小,占用资源少, ...
- python在房地产中的应用_“人生苦短,我学 Python”丨爆火的Python语言应用领域主要有哪些?...
原标题:"人生苦短,我学 Python"丨爆火的Python语言应用领域主要有哪些? 「人生苦短,我学 Python」是众多和计算机科学有些接触的同学耳熟能详的段子,不过最近这一风 ...
最新文章
- 【Linux】类Unix 操作系统进程监控控制工具 Supervisor
- Android百度地图scode,“androidsdk | 百度地图API SDK
- PAT甲级1028 List Sorting:[C++题解]排序,cin和cout会超时
- 9切换中文mac_超详细的Mac重装系统教程!让重装系统变得简单起来!
- 【读书笔记0101】Beginning linux programming-3rd
- IIS安装2个SSL_SSL的申请与https使用
- Oracle绑定变量分级(Bind Graduation)
- 传输层协议(9):滑动窗口(3)——会呼吸的痛
- 云打印SDK来袭,支持飞鹅云,芯烨云,易联云,优声云等云打印机
- To prevent a memory leak the JDBC Driver has been forcibly
- pycharm ssh interpreter 搭建
- 应用MIME将ZPT内容输出为excel文件(word文件)
- 成长计划校园极客秀|基于OpenHarmony的智能阳台
- 再见 xxl-job!更强大的新一代分布式任务调度框架来了
- 2020.10.7--PS--填充图层、调整图层、调整图层与剪贴蒙版
- 生物信息学(高通量测序)名词
- 犹抱琵琶半遮面 三星手机S8将于月底发布
- matlab怎么求一个三元一次方程组的解,关于一个三元一次方程的问题(matlab和excel)...
- Jetpack系列之CameraX 相机
- 一文读懂 储能变流器PCS与虚拟同步机VSG的区别
热门文章
- Java 随机数生成
- 《悟空传》——绝望中放弃,觉醒中重生!
- C语言学习19:操作符详解
- MATLAB--数字图像处理 均值滤波
- 2023 MacBook Pro 与2021 Macbook Pro有哪些差别
- ubuntu/vim/terminal/gedit...快捷键
- IQA图像质量评价常用评价指标
- 在博图V13中创建s7-300项目并仿真
- NBA名人堂之-查尔斯·巴克利|里克·巴里|罗伯特·帕里什|斯科蒂·皮蓬|戴夫·德布斯切尔
- #萌新日志#2. 使用BraTS 2020数据集训练nnUNet(多模态和单模态)