把时间控件,都当成一个普通的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-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() |