selenium 日期控件

只读控件的日期控件,如何实现输入? javascript 实现 调用execute_script

"""
js操作
execute_script
"""

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("https://www.12306.cn/index/")
time.sleep(2)

# 只读日期控件元素
el_data = driver.find_element(By.ID, "train_date")

# 去掉readonly属性‐‐‐》通过js操作元素driver.execute_script()
# arguments 把execute_script后面的第二个或者第三个或者到第n个参数到放在arguments
js = "var el=arguments[0];el.removeAttribute('readonly');"

# 执行js脚本,去掉readonly属性
driver.execute_script(js, el_data)

# 清除日期控件默认值
el_data.clear()
time.sleep(2)

# # 日期控件输入设置的日期
el_data.send_keys('2021‐10‐01')
print("时间控件设置的日期:", el_data.get_attribute("value"))

 

posted @ 2023-08-08 10:06  徐俊112  阅读(194)  评论(0)    收藏  举报