selenium JS修改屬性處理日曆控制項

2022-06-27 19:18:12 字數 1968 閱讀 1077

前面介紹了js可以修改一些元素屬性內容,在做web自動化的時候,會遇到設定為無法輸入的內容,讓我們自己選擇,這時候為了避免選擇出錯,我們可以直接通過js修改成可輸入,然後進行輸入內容。這種場景最常用的也就屬日曆控制項了。

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(

'')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進行來刪除屬性,以及學習遇到這種日曆控制項無法輸入,如何進行輸入引數

Altium Designer 批量修改屬性

2010 07 15 11 23 17 分類 電路設計 標籤 字型大小 大中小訂閱 下面這部分是我 在網上其它地方查到的內容 用altium designer 畫pcb,想修改所有電源線寬。摸索了一下,可以用以下兩種方法實現,都很簡單。兩種方法原理是一樣的,都是設法批量選取之後在修改屬性 後者的功能...

SerialPort常用修改屬性方法

屬性 baudrate 獲取或設定波特率 bytestoread 得到 接收到資料的位元組數 bytestowrites 得到送往串列埠的位元組數 databits 獲取或設定資料位 isopen 獲取乙個值,判斷串列埠是否開啟 pariy 獲取或設定校驗位 portname 串列埠名稱 readb...

JS遍歷物件修改屬性名

根據介面返回資料中number屬性值,對資料進行擷取,並改變屬性名.直接上碼 下面是需要處理的資料 let data 根據number值對資料擷取 var num data.value.number 2 var arr data.value.value.slice 0,num 改變屬性的方法 方法一...