python+selenium:移除时间控件readonly属性,实现send_keys输入

参考博客:

python+selenium:web端关闭时间控件readonly属性,可直接输入【今天】【昨天】【任意】时间



类似这样的时间戳控件:

在这里插入图片描述

可以看到控件有:readonly 属性【只读】

在这里插入图片描述

一、移除或者关闭web端时间控件的readonly属性的方法

  1. 方法一:原生js,移除readonly属性

    
    js = "document.getElementById('train_date').removeAttribute('readonly')"
    
    
  2. 方法二:jQuery,移除readonly属性

    
    js = "$('input[id=train_date]').removeAttr('readonly')"
    
    
  3. 方法三:jQuery,设置属性为false

    
    js = "$('input[id=train_date]').attr('readonly',false)"
    
    
  4. 方法四:jQuery,设置属性为空

    
    js = "$('input[id=train_date]').attr('readonly',’ ‘)"
    
    


二、清除时间控件原有显示文本, send_keys输入自己想要输入的时间

# 随便选一种方法移除或者关闭web端时间控件的readonly属性
js_beginDate = "$('input[id=beginDate]').removeAttr('readonly')"
driver.execute_script(js_beginDate)
# 清除时间控件原有显示文本
driver.find_element_by_id('beginDate').clear()
# send_keys输入自己想要输入的时间
driver.find_element_by_id('beginDate').send_keys('2020-07-07 00:00:00')

# 同理
js_endDate = "$('input[id=endDate]').removeAttr('readonly')"
driver.execute_script(js_endDate)
driver.find_element_by_id('endDate').clear()
driver.find_element_by_id('endDate').send_keys('2020-07-07 23:59:59')



三、如何向控件中传入昨天的指定日期时间呢?

  • 当前日期为:2020-07-08
    在这里插入图片描述

- 运行结果:
在这里插入图片描述

想要明天的话,就直接(days=1),简单粗暴

import datetime

# 输出 :昨天的日期+00:00:00
now_time = datetime.datetime.now()
yesterday = now_time + datetime.timedelta(days = -1)

'''strftime()的用法 :strftime('%Y.%m.%d-%H:%M:%S')'''
begin_time = yesterday.strftime('%Y-%m-%d 00:00:00')
print(begin_time)

# 输出 :昨天的日期+23:59:59
now_time = datetime.datetime.now()
yesterday = now_time + datetime.timedelta(days = -1)
end_time = yesterday.strftime('%Y-%m-%d 23:59:59')
print(end_time)
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值