Selenium中日期控件的操作


有時頁面為了防止用戶修改指定的屬性或者輸入錯誤的格式,會對某些輸入框設置readonly只讀屬性。一些日期選擇框為了避免用戶輸入錯誤的格式,將輸入框設置為只讀,用戶只能通過點擊日期控件進行選擇日期,如圖5.11,網址為:http://www.miniui.com/demo/datepicker/datepicker.html

圖5.11  元素只讀屬性

在使用日期控件通過點擊選擇日期時,如果涉及到年份和月份的更改,往往需要多次的點擊翻頁,操作十分麻煩。此時可以通過手工操作,了解輸入框日期的輸入格式,然后一次其只讀屬性,按相應格式直接輸入需要選擇的日期,代碼如下。

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('http://www.miniui.com/demo/datepicker/datepicker.html')

elm = driver.find_element('css selector', 'span#date3>span>input')

js = 'arguments[0].removeAttribute("readonly");'
driver.execute_script(js, elm)
sleep(0.5)
elm.send_keys('1999-01-01')

sleep(3)
driver.quit()

在定位輸入框時,使用了CSS選擇器,先定位到id為date3的span元素,然后向下兩層找到該input元素。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM