selenium---JS修改屬性處理日曆控件

  前面介紹了JS能夠修改一些元素屬性內容,在作web自動化的時候,會遇到設定爲沒法輸入的內容,讓咱們本身選擇,這時候爲了不選擇出錯,咱們能夠直接經過JS修改爲可輸入,而後進行輸入內容。這種場景最經常使用的也就屬日曆控件了。html

readonly

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

相關文章
相關標籤/搜索