python selenium實現檔案上傳

2022-06-17 12:36:16 字數 1905 閱讀 8009

檔案上傳是web測試種很常見的乙個場景

檔案上傳功能實現分為兩類,一類是input標籤,這種比較簡單,可以直接send_keys實現上傳操作;但遇到非input標籤的因為是windows控制項所以有些情況下通過selenium卻沒法操作,因此需要借助一些第三方庫來實現。

下面主要介紹一下非input標籤的情況:

1 autolt 需要去呼叫其生成的.au3或.exe檔案.----操作繁瑣不易理解,不推薦

2 sendkeys第三方庫(目前只支援到2.7版本)----不支援3.x版本的python,不推薦

絕對路徑 一層一層找,從edit開始向上一級一級找到最外層#32770

找到輸入框 #32770 --> comboboxex32 --> combobox --> edit

找到開啟按鈕 #32770 --> button

下面直接上**:

1

from time import

sleep

2import

win32con

3import

win32gui45

6def upload(file_path, driver = '

chrome'):

7#谷歌瀏覽器

8if driver == '

chrome':

9 title = '開啟'

10 dialog = win32gui.findwindow('

#32770

', title)

11 comboboxex32 = win32gui.findwindowex(dialog, 0, '

comboboxex32

', none)

12 combobox = win32gui.findwindowex(comboboxex32, 0, '

combobox

', none)

13 edit = win32gui.findwindowex(combobox, 0, '

edit

', none)

14 button = win32gui.findwindow('

button

', '

開啟(&o)')

15#輸入檔案路徑

16win32gui.sendmessage(edit, win32con.wm_settext, none, file_path)17#

點選開啟按鈕

18 win32gui.sendmessage(dialog, win32con.wm_command, 1, button)

19 sleep(3)

2021

22if

__name__ == '

__main__':

23 file = r'

demo.txt

'24 upload(file)

Python selenium的js擴充套件實現

python寫的資料採集,對一般有規律的頁面用 urllib2 beautifulsoup 正則就可以搞定。但是有些頁面的內容是通過js生成,或者通過js跳轉的,甚至js中還加入幾道混淆機制 對這種涉及頁面指令碼解析的內容,前面的方式便很無力。這時我們需要能解析 執行js的引擎 瀏覽器,而pytho...

Python Selenium環境搭建

安裝python 設定 python 的環境變數 安裝目錄 安裝目錄 scripts 使用 pip安裝 selenium pip install selenium 安裝完python pip工具,在安裝目錄的 scripts 目錄下。在 dos下直接執行 pip install selenium 即...

Python Selenium 學習筆記

1 判斷元素是否存在 try driver.find element.xx a true except a false if a true print 元素存在 elif a false print 元素不存在 2 判斷元素是否顯示 driver.find element by id outputb...