测试人社区

selenium如何处理日历控件

selenium自动化的时候,碰到日历控件如何处理?send_keys不管用

需要先去除read-only属性

js = 'document.getElementById("cardNo").removeAttribute("readonly")'
driver.execute_script(js)

然后再尝试input 或 click操作

值传不进去,点击发布的时候,还是没有值

click 试过了吗

我直接用js点击处理成功了,但是如果想传值就不知道怎么处理

# js = "document.getElementById('txtBeginDate').removeAttribute('readonly')"  # 1.原生js,移除属性
# js = "$('input[id=txtBeginDate]').removeAttr('readonly')"  # 2.jQuery,移除属性
# js = "$('input[id=txtBeginDate]').attr('readonly',false)"  # 3.jQuery,设置为false
js = "$('input[id=txtBeginDate]').attr('readonly','')"  # 4.jQuery,设置为空(同3)

这四个都试试。不行就先用点击了

好的,我试试看,