1.web上的控件种类十分多,但是大致分为2种,一种为类型是input的且可以输入,第二种为类型是input的且属性为readonly,文本框不可编辑
2.第一种类型为可以输入的,直接send_keys,代码如下:
from selenium import webdriver driver = webdriver.Ie() driver.get('http://jqueryui.com/resources/demos/datepicker/other-months.html') Date = driver.find_element_by_id('datepicker') Date.send_keys('06/07/2018') print(Date.get_attribute('value'))
3.第二种类型为不可输入的,且属性为readonly,先用js去掉readonly属性,然后输入文本内容
from selenium import webdriver import time driver = webdriver.Ie() driver.get('https://kyfw.12306.cn/otn/index/init') driver.implicitly_wait(4) js = 'document.getElementById("train_date").removeAttribute("readonly");' #js去掉readonly属性 driver.execute_script(js) js_value = 'document.getElementById("train_date").value="2018-08-22"' #js添加时间 driver.execute_script(js_value) time.sleep(2) driver.quit()