python selenium 时间日期控件处理

时间:2024-04-08 11:27:19

把时间控件,都当成一个普通的input框处理

1. 可以直接输入值,没有readonly属性的,直接输入值就可以了

2. 有readonly属性的,先用js去掉readonly属性,然后直接输入日期文本内容先用js去掉readonly属性,然后直接输入日期文本内容:

python selenium 时间日期控件处理

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()