要想上傳文件,需要找到在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)
去掉隱藏后,效果如下,可以看到出現一個【選擇文件】的按鈕

