1、input標簽類型為number在chrome瀏覽器中無法寫入元素的值
<input type=number,id='hr'.......>向這個元素中寫入數據的時候,使用cy.get('#hr').type()的方式,在chrome瀏覽器下寫入失敗,使用electron瀏覽器運行可以運行成功,發現是chrome瀏覽器的bug。
解決方法:使用setAttruibute方法,改變元素的類型,再寫入數據。
具體方法:cy.get('#hr').then((e1)=>{
el.setAttriubute('type','text')
}).type('值')
2、input標簽屬性為readonly時寫入數據
<input type=text,id='hr',readonly.......>向這個元素中寫入數據的時候,可以先刪除元素readonly再寫入
解決方法:使用removeAttr()方法,改變元素的類型,再寫入數據。
具體方法:cy.get('#hr').then((e1)=>{el.removeAttr('readonly')}).type('值')
3、界面元素遮擋的情況下如何寫入數據
有時候,我們在界面中輸入數據時,例如下拉框正好擋住了要寫的輸入框,cypress可能就無法找到元素,使用強制輸入的方法{force:true}.
cy.get('#hr').type('值',{force:true}.)
此方法在點擊時也可以使用,click({force:true}).