python+selenium:解決上傳文件標簽屬性被css的visibility隱藏導致無法定位元素的問題


要想上傳文件,需要找到在HTML中<input type="file" />這個標簽,有它就可以利用send_keys上傳文件,不過這里的<input>元素被隱藏了,導致一直定位不到input

html代碼如下,注意visibility:hidden,表示這個input元素被隱藏了,要想定位它必須先把隱藏屬性去掉

一般控制元素顯示或隱藏是用display屬性來實現的

style.display = “none”,表示元素隱藏;
style.display = “block”,  表示顯示

但是這里不是用的display屬性,而是使用的css的visibility屬性來實現的,

style.visibility="hidden",表示元素隱藏;
style.visibility="visible",表示元素顯示;

於是利用js來去掉隱藏屬性,開始想只把visibility屬性改為visible,但是一直失敗,后來干脆把整個style屬性去掉不就好了,反正目的只是想把上傳文件的屬性變為可見,js代碼如下

js = 'document.querySelector("#i_select_files>input").style="";'  #js去掉上傳文件“input”元素的屬性,使之可見
driver.execute_script(js)

去掉隱藏后,效果如下,可以看到出現一個【選擇文件】的按鈕

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM