把时间控件,都当成一个普通的input框处理
1. 可以直接输入值,没有readonly属性的,直接输入值就可以了
2. 有readonly属性的,先用js去掉readonly属性,然后直接输入日期文本内容先用js去掉readonly属性,然后直接输入日期文本内容:
3. 使用js方法输入日期:
参考源码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# coding:utf-8from 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() |