selenium之 時間日期控件的處理(轉)
我們不去搞時間日期空間,我們把它當成一個普通的input框處理就好了!
但是,很多此類型input框都是禁止手動輸入的,怎麽辦?
很簡單,用js把禁止輸入的readonly屬性幹掉就好了。
來吧,看一下示例:
示例網址:http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/
代碼:
# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get(‘http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/‘)
driver.switch_to.frame(‘iframe‘)
# 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)
driver.execute_script(js)
driver.find_element_by_id(‘txtBeginDate‘).send_keys(‘2016-08-24‘)
sleep(2)
print driver.find_element_by_id(‘txtBeginDate‘).get_attribute(‘value‘)
driver.quit()
結果:
2016-08-24
當然,這裏還得說一下,有人說他遇到的日期時間框沒有id、name,這裏提醒一下,這就是普通的input框,定位方法太多了,class、tag name、xpath、css,總有一種適合你。同時友情提醒一下:註意時刻提防iframe!
---------------------
作者:huilan_same
來源:CSDN
原文:https://blog.csdn.net/huilan_same/article/details/52385401
selenium之 時間日期控件的處理(轉)