转载地址:https://www.cnblogs.com/mini-monkey/p/12104821.html
前言有时候测试过程中会遇到日期控件场景,这时候需要特殊处理,下文以12306网站为例
1.处理方式
通常是通过js去除只读属性(2种方法),然后通过send_keys重新写值
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.12306.cn/index/")
sleep(2)
date_txt = driver.find_element_by_xpath("//*[@id='train_date']")
# 方法1:通过js的getElementById去掉只读属性
driver.execute_script("document.getElementById('train_date').removeAttribute('readonly');")
# 方法2:通过js的document.arguments[0]去掉只读属性
driver.execute_script("arguments[0].removeAttribute('readonly');",date_txt)
# 通过send_keys操作,重新写值
date_txt.clear() # 先清除原来的日期值
date_txt.send_keys('2020-06-21')```
selenium+python 处理只读日期控件的2种方法
前言有时候测试过程中会遇到日期控件场景,这时候需要特殊处理,下文以12306网站为例
1.处理方式
通常是通过js去除只读属性(2种方法),然后通过send_keys重新写值
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.12306.cn/index/")
sleep(2)
date_txt = driver.find_element_by_xpath("//*[@id='train_date']")
# 方法1:通过js的getElementById去掉只读属性
driver.execute_script("document.getElementById('train_date').removeAttribute('readonly');")
# 方法2:通过js的document.arguments[0]去掉只读属性
driver.execute_script("arguments[0].removeAttribute('readonly');",date_txt)
# 通过send_keys操作,重新写值
date_txt.clear() # 先清除原来的日期值
date_txt.send_keys('2020-06-21')```
退出 订阅评论 我的博客
[Ctrl+Enter快捷键提交]
· ASP.NET Core 6框架揭秘实例演示:错误页面的N种呈现方式
· 解决 ASP.NET Core 在 Task 中使用 IServiceProvider 的问题
· 使用 CSS 构建强大且酷炫的粒子动画
· [C#]GDI+之鼠标交互:原理、示例、一步步深入、性能优化
· 一文带你弄懂 CDN 技术的原理
· 小米手表S1 Pro图赏:给你一个跑步教练,再给你一个随身体温计
· 马斯克宣布特斯拉卡车今年交付,丰田押注的氢电池车急需挽尊
· 小米 Buds 4 Pro 体验:不再依赖深度适配,降噪续航都有提升
· 苹果停止「买买买」
· 年轻人宁愿摆摊也不想上班?有人过得比 996 还累
» 更多新闻...