Python + Selenium 上傳元素為button類型的文件的解決辦法


工具:winspy

Python所需安裝模塊:pywin32 (安裝語句:pip install -i https://pypi.douban.com/simple pywin32)

元素位置:

 

 

 

對應代碼:

from selenium import webdriver
from time import sleep
import win32gui
import win32con


# 上傳文件
upload = browser.find_element_by_xpath("//button[@class='el-button specialBtn el-button--default']//span")
upload.click()
sleep(1)

# win32gui
dialog = win32gui.FindWindow('#32770',u'打開')  # 對話框
ComboBoxEx32 = win32gui.FindWindowEx(dialog,0,'ComboBoxEx32',None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32,0,'ComboBox',None)
Edit = win32gui.FindWindowEx(ComboBox,0,'Edit',None)  # 上面三句依次尋找對象,直到找到輸入框Edit對象的句柄
button = win32gui.FindWindowEx(dialog,0,'Button',None)  # 確定按鈕Button

win32gui.SendMessage(Edit,win32con.WM_SETTEXT,None,'E:\jmeter-testcase.csv')  # 往輸入框輸入絕對地址
win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button)  # 按button

sleep(5)

 

備注:此代碼僅適用於Chrome瀏覽器,Firefox及IE瀏覽器可能title(“打開”)會不一樣,后續會根據瀏覽器去優化代碼。

參考文章:https://www.cnblogs.com/xiaogongjin/p/11546518.html


免責聲明!

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



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