在測試過程中,有些輸入框是隱藏的,如果直接對他進行賦值,會找不到這個輸入框,從而導致腳本運行失敗。
例如下面的這個密碼輸入框:
登錄密碼輸入框分為兩個input,下面的是提示的,上面的才是真正存下來的密碼輸入框,兩個input是聯動的,默認上面的輸入框是隱藏的,如果直接賦值是找不到這個input的,所以就要把input的display屬性從none變為block來顯示它然后給他賦值,或者直接給他加一個value屬性來賦值。
一、通過js更改display屬性來顯示input
js="var p=document.getElementById('Password');p.style.display='block';"
driver.execute_script(js);
說明:通過這兩句話就可以將”Password"這個輸入框顯示了,然后就可以直接通過send_keys進行賦值。js是自定義的,p也是自己定義的一個函數,可以自己取名字。當然也可以將兩句連到一起就是
driver.execute_script("var p=document.getElementById('Password');p.style.display='block';");
二、不顯示input,直接對input賦值,加value
driver.execute_script("var js1=document.getElementById('txt_ConfirmPassword');js1.value='123456';");
driver.execute_script("var js2=document.getElementById('ConfirmPassword');js2.value='123456';");
說明:定義一個函數,通過js.value=""為input賦值。