一)设置生日
如下图,如果年、月、日一个一个的点灵活性差,稳定性也差。
检查元素,发现日历控件,其实就是一个文本输入框,那么就可以直接用send_keys输入日期。
但是,检查元素,发现标签中存在一个readonly属性的元素,表示这是一个只读的输入框,不能手写。
需要每次输入日期前,删除readonly属性即可。但是selenuim没有提供删除元素属性的方法。
那么,怎么办呢?
javascript可以删除元素的属性
代码:
document.getElementById("date").removeAttribute("readonly")
但是,javascript代码不能直接写在pycharm集成开发环境中,所以先当字符串处理
js = 'document.getElementById("date").removeAttribute("readonly")'
然后,通过driver浏览器来执行这段javascript代码
driver.execute_script(js)
在sendkeys之前应该先用clear()方法清空原来的默认值
driver.find_element_by_id("date").clear()
driver.find_element_by_id("date").send_keys("1980-02-18")
二)完整的代码段
js = 'document.getElementById("date").removeAttribute("readonly")'
driver.execute_script(js)
driver.find_element_by_id("date").clear()
driver.find_element_by_id("date").send_keys("2018-09-07")