前面介紹了JS能夠修改一些元素屬性內容,在作web自動化的時候,會遇到設定爲沒法輸入的內容,讓咱們本身選擇,這時候爲了不選擇出錯,咱們能夠直接經過JS修改爲可輸入,而後進行輸入內容。這種場景最經常使用的也就屬日曆控件了。html
readonly這個參數在html中表示規定輸入字段是隻讀的。不能夠進行輸入。web
把下面的代碼放到文本中,後綴改爲HTML,打開能夠發現,輸入框內沒法進行修改。學習
<html> <body> 歡迎關注測試-安靜:<br> <input type="text" class="input" value="測試-安靜" id="anjing" readonly=""> <br> </body> </html>
咱們能夠進行對這個屬性進行刪除,刪除事後在進行輸入測試
from selenium import webdriver import time driver = webdriver.Chrome() driver.get(r'E:\web\11.html') js = 'document.getElementById("anjing").removeAttribute("readonly")' driver.execute_script(js) time.sleep(2) # 先清空,再輸入 driver.find_element_by_id('anjing').clear() driver.find_element_by_id('anjing').send_keys('感謝關注測試-安靜!')
回到標題,其實通常的日曆都是經過readonly屬性來控制不讓輸入,只能手動選擇。安靜拿12306進行來看spa
經過12306的咱們再一次修改屬性和咱們的標題掛鉤~code
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.12306.cn/index/') js = 'document.getElementById("train_date").removeAttribute("readonly")' driver.execute_script(js) time.sleep(2) # 先清空,再輸入 driver.find_element_by_id('train_date').clear() time.sleep(2) driver.find_element_by_id('train_date').send_keys('感謝關注測試-安靜!')
經過兩個小的案例再一次複習如何經過JS進行來刪除屬性,以及學習遇到這種日曆控件沒法輸入,如何進行輸入參數htm
最新安靜搞了個公衆號,準備把博客內容都整理在一塊兒,方面你們經過手機均可以跟着安靜一塊兒學習。若是喜歡的話,掃碼關注,感謝您的支持。blog