selenium中send_keys()上傳文件的詳解

之前寫過一篇文章,講了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.給路徑時要給絕對路徑,防止找不到文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章