把时间控件,都当成一个普通的input框处理
1. 可以直接输入值,没有readonly属性的,直接输入值就可以了
2. 有readonly属性的,先用js去掉readonly属性,然后直接输入日期文本内容:
3. 使用js方法输入日期:
# coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("https://kyfw.12306.cn/otn/index/init")
# 处理开始时间
# js去掉readonly属性
js = 'document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js)
# js添加时间
js_value = 'document.getElementById("train_date").value="2017-12-10"'
driver.execute_script(js_value)
# 处理返程时间
js2 = 'document.getElementById("back_train_date").removeAttribute("readonly");'
driver.execute_script(js2)
js2_value = 'document.getElementById("back_train_date").value="2017-12-25"'
driver.execute_script(js2_value)
time.sleep(5)
driver.close()