之前寫過一篇文章,講了mac上怎麼通過操作彈框的方式上傳文件,然後有個同事問我,他想用send_keys()方法上傳,但是他往輸入框裏輸入了地址後,依舊提示沒有上傳文件。我一看,他果然陷入一個誤區input框一定就是上傳文件的地方
。
上傳文本框
下面詳細解釋下,我們看到的上傳文件框有這麼幾種。
1.
2.
3.
頁面上的定位
大概就上面這麼些。很多新手面對第一種時,直接定位元素就得到
於是想當然就直接往這裏面send文件路徑就行了。其實不然,這種要往下看,
注意type=”file“的纔是我們要操作的元素。
file_input = self.find_element_by_id("filebox_file_id_8")
file_input.send_keys(os.path.abspath('testFile/1.xlsx'))
注意:根據API文檔裏面描述在文件地址上最好加上os.path.abspath()返回絕對路徑給send_keys()
總結
1.首先找到input框的type=”file“,再定位此元素
2.給路徑時要給絕對路徑,防止找不到文件。