前面介紹了JS可以修改一些元素屬性內容,在做web自動化的時候,會遇到設定為無法輸入的內容,讓我們自己選擇,這時候為了避免選擇出錯,我們可以直接通過JS修改成可輸入,然后進行輸入內容,這種場景最常用的也就屬日歷控制元件了,
readonly
readonly這個引數在html中表示規定輸入欄位是只讀的,不可以進行輸入,
把下面的代碼放到文本中,后綴改成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進行來看

通過12306的我們再一次修改屬性和我們的標題掛鉤~
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進行來洗掉屬性,以及學習遇到這種日歷控制元件無法輸入,如何進行輸入引數
最新安靜搞了個公眾號,準備把博客內容都整理在一起,方面大家通過手機都可以跟著安靜一起學習,如果喜歡的話,掃碼關注,感謝您的支持,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/84162.html
標籤:其他
下一篇:從功能測驗到自動化測驗
