Selenium自動化測試編寫腳本的過程中,不時會遇到各種問題。
下面分析一個常見的問題,卻耗費了本人一個多小時的時間來解決。
一個很簡單的功能:彈出框里面有兩個輸入框,一個按鈕,類似下圖
已經成功實現了textbox1和2的輸入,點擊button的過程中一直拋錯
selenium.common.exceptions.ElementNotInteractableException: Message: Element <input class="ui-state-default ui-corner-all" type="button"> could not be scrolled into view
一開始以為是button的定位有問題,試過各種辦法來定位(xpath,css,甚至用js來點擊),一直失敗,並且還拋上面的錯誤。
沒辦法,只有百度,在stack overflow中發現如下comments,總結的非常好:
首先要看是否需要切換iframe,
其次是否需要加等待時間,
然后看看是否需要用js的方法來scroll滾動條,
最后check下是否是可以點擊的。
我用了方法二,在點擊button前加入了等待時間,結果一下子就解決了!
記住這個教訓,下次千萬不要再發生類似的情況了。