web自动化之js日期控件

前言:我们为什么要用到js语言来操控日期控件?因为有些选择日期不支持send_keys()代码里输入,所以我们就用js来操作。

注:基本的js语句请自行百度搜索
我们打开F12,切换到Console页面,这个页面是用来提供我们写JS语句的,比如
在这里插入图片描述

我们通过js语句来获取到“出发日期”的属性,我们看到日期里有 readonly 属性。我们消除它,我们就能输入了
在这里插入图片描述
我们a.readOnly=false 就消除它了。.readOnly是什么?.readOnly是对应 readonly属性在这里插入图片描述

然后我们在F12里操控a.value=“2019-06-10” ,那么出发日期就变成了2019-06-10。
a.value里的value是什么? value是值,也就是要输入的值
在这里插入图片描述

那么我们在代码怎么实现它呢?
代码如下:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.12306.cn/index/")
#先编写好js语句
js_pha = 'var a = document.getElementById("train_date");' \
         'a.readOnly = false;' \
         'a.value = "2019-07-01";' \
         'document.getElementById("search_one").click();'
#然后执行js语句
driver.execute_script(js_pha)

这样就OK了。就这么简单

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值