栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【python】UI自动化实现非input文件上传功能

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【python】UI自动化实现非input文件上传功能

代码实现如下: 新建一个py文件来封装好使用
# python自带的插件,win32api是用来模拟键盘操作
import time,os
import win32api,win32gui
# python自带的插件,win32con是用来控制键盘
import win32con
# 脚本字段的复制、粘贴
import pyperclip

        #调用这个函数,传入一个文件地址进去 filePath=文件地址

def InputFileWithWindow(filePath):
    iRetVal = 0
    try:
        dialog = win32gui.FindWindow('#32770', '打开')  # 对话框
        if dialog:
            ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
            ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
            Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
            if Edit:
                button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button
                if button:
                    # win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, 'D:\ProjectCode\other-Installation-selenium\lib\IMX8-2.2.27.2.zip')  # 往输入框输入绝对地址
                    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, filePath)
                    time.sleep(5)
                    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button
                else:
                    print("error: 上传文件失败后确认失败")
                    iRetVal = -4
            else:
                print("error: 未找到弹窗的输入框")
                iRetVal = -3
        else:
            print("error:没有找到文件系统弹窗")
            iRetVal = -2
    except:
        print("error:上传文件失败")
        iRetVal = -1
    return iRetVal

调用这个函数

1、写好图片的路径

pase_path = os.path.dirname(__file__)

filePath = os.path.join(pase_path, '..', '..', '..', r'img21.png')

print(filePath )#查看路径是否正确

2、引入这个函数
from common.input_file_with_window import InputFileWithWindow

3、使用这个函数
self.driver.find_element_by_xpath('//div[@]').click() #触发本地文件上传 # 通过窗口打开

time.sleep(1)

#使用这个函数传入步骤一的路径

InputFileWithWindow(filePath) #获取文化图片方法

time.sleep(2)

self.driver.find_element_by_xpath('//button[@]').click() # 下一步

总结:也是百度找了很多种方法,这种确实不错,封装好了,直接用,展示效果没有截图,不过确实是可以用的,我在自己项目中也使用了,有好的方法可以一起交流!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号