分享一下日历控件的处理方式。
以下用12306来举例子:
使用firbug查看 12306 网站,查看js属性是 readonly = " ",没错,就是这个属性,来控制日历控件,
我们就要对它进行一些处理。
1.去掉 readonly 属性:
① 直接去掉 readonly 属性;
② 然后直接在 "出发日期"输入框输入信息即可
2.使用js去掉readonly属性:
①先定位元素;
②removeAttribute('readonly')方法删除属性
#去掉元素的readonly属性
js = 'document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js)
3.输入日期
①输入日期前,需要clear 一下,
②输入完成后,因为会弹出日历控件,所以需要click页面任何地方,
#去掉元素的readonly属性
js = 'document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js)
#清空文本信息
driver.find_element(By.ID,"train_date").clear()
#输入信息
driver.find_element(By.ID,"train_date").send_keys("2020-05-28")
4.使用js方法,输入日期
①就是直接改掉输入框元素的value值即可
#去掉元素的readonly属性
js = 'document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js)
#使用js方法输入日期
js_value = 'document.getElementById("train_date").value = "2020-05-28"'
driver.execute_script(js_value)
以上就是日历控件的处理方法。 nice~~~