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')```
posted @ 2020-05-23 22:34  我是海底的咸鱼  阅读(298)  评论(0编辑  收藏  举报