当前位置: 首页 > article >正文

Selenium 调用 JavaScript 操作带有 readonly 属性 的日期控件

'''
<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
'''

http://www.kler.cn/a/291563.html

相关文章:

  • Vue进阶之Vue RouterSSR
  • Halcon例程代码解读:安全环检测(附源码|图像下载链接)
  • JAVA:组合模式(Composite Pattern)的技术指南
  • 前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化
  • Vue3之状态管理Vuex
  • 设计模式の享元模板代理模式
  • erlang学习:用ETS和DETS存储数据
  • Ascend C算子性能优化实用技巧02——内存优化
  • 获取Word、PPT、Excel、PDF文件页数及加密校验
  • 145. 利用 Redis Bitmap实践: 用户签到统计
  • Android TextView设置跑马灯失效
  • ACL实验配置学习笔记
  • 【网络安全 | 渗透工具】Cencys+Shodan使用教程
  • 科研绘图系列:R语言差异基因四分图(Quad plot)
  • 【轻松学EntityFramework Core】--数据迁移
  • 【高阶数据结构】B树、B+树、B*树
  • 手把手教ESP32连接阿里云
  • 如何在Centos7构建调试“Jmeter-InfluxDB-Grafana“?
  • Spring Boot 2.0 解决跨域问题:WebMvcConfiguration implements WebMvcConfigurer
  • 天气数据爬取
  • javascript利用for循环输出0-100的数
  • 印度数据中心关闭潮:DigitalOcean 为何成为中国企业的新选择
  • Linux操作系统中的进程查看与进程调度
  • vue学习记录七:监听属性watch
  • 力扣一百题——双指针题解
  • 常规流布局(补充)——WEB开发系列30