'''
<input class="index_start" readonly="" placeholder="开始日期" size="12" autocomplete="off" type="text" value="">
<input class="index_end" readonly="" placeholder="结束日期" size="12" autocomplete="off" type="text" value="">
'''
# 第一种方法
starttime = '2024/08/01'
endtime = '2024/09/05'
js = f'''
var s_ele = arguments[0];
var e_ele = arguments[1];
s_ele.readonly = false;
s_ele.value = "{starttime}";
e_ele.readonly = false;
e_ele.value = "{endtime}";
return [s_ele.value, e_ele.value]
'''
# 开始日期
start_date = driver.find_element_by_class_name('index_start')
end_date = driver.find_element_by_class_name('index_end')
start_date.click()
res = driver.execute_script(js, start_date, end_date)
print(js)
print(res)
time.sleep(5)
# 第二种方法
start_time = '2024/09/04'
js = f'document.getElementsByClassName("index_start")[0].value="{start_time}"'
driver.execute_script(js)
time.sleep(5)
'''
参考:
Document 对象属性和方法
https://www.runoob.com/jsref/dom-obj-document.html
document.getElementsByClassName() 返回文档中所有指定类名的元素集合,作为 NodeList 对象。
document.getElementById() 返回对拥有指定 id 的第一个对象的引用。
document.getElementsByName() 返回带有指定名称的对象集合。
document.getElementsByTagName() 返回带有指定标签名的对象集合。
document.images 返回对文档中所有 Image 对象引用。
selenium 执行 js 代码的两个方法你都会用吗?
http://testingpai.com/article/1595507301629
解决Selenium使用日期控件无法直接input日期问题的方法
https://blog.csdn.net/qq_41694638/article/details/136326791
selenium之 时间日期控件的处理
https://blog.csdn.net/huilan_same/article/details/52385401
【Python网络爬虫】selenium操作之readonly日期控件的处理方式
https://blog.csdn.net/qq_31180631/article/details/138303035
selenium对元素进行操作(三):日期控件处理
https://blog.csdn.net/Bierante/article/details/119203168
'''