千家信息网

python+selenium+autoit实现文件上传

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,问题在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下解决方案第一种:type=file的上传文件,类似如下的使用类似这样的代码就可以完成:driver.find_ele
千家信息网最后更新 2025年02月02日python+selenium+autoit实现文件上传

问题

在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下

解决方案

第一种:type=file的上传文件,类似如下的

使用类似这样的代码就可以完成:

driver.find_element('name','file').send_keys('./小强测试品牌.png')

第二种:就是第一种除外的,实现起来较为麻烦,这里用到了autoit,大致步骤如下:

1、下载并安装autoit,之后在开始菜单可以看到如下

AutoIt Windows Info 用于识别Windows控件信息

Compile Script to.exe 用于将AutoIt生成 exe 执行文件

Run Script 用于执行AutoIt脚本

SciTE Script Editor 用于编写AutoIt脚本

2、上传功能如下

3、识别元素,主要是上图中的文件名输入框和打开按钮,使用AutoIt Windows Info完成,记录结果如下:

文件名输入框的class 为"Edit",Instance为"1"

打开按钮的class 为"Button",Instance为"1"

4、编写脚本,使用SciTE Script Editor,内容如下:

ControlFocus("文件上传", "","Edit1")

WinWait("[CLASS:#32770]","",10)

ControlSetText("文件上传", "", "Edit1","D:python_workspaceQiangSEAutopic小强测试品牌.jpg")

Sleep(2000)

ControlClick("文件上传", "","Button1");

上述代码中特别需要注意"文件上传"字样是你点击上传按钮之后弹出的对话框的title,可能每个系统会不一样

5、验证脚本

保证页面的上传对话框打开,然后运行脚本tools>go

6、打开Compile Script to.exe工具,将其生成为exe可执行文件

7、python脚本中调用

up=self.driver.find_element('class name','avatar-uploader-trigger')

up.find_element('class name','ant-btn').click()

os.system('D:\python_workspace\QiangSEAuto\upload.exe')

time.sleep(20)

其他

其实还有其他的解决方法,感兴趣的自行研究吧,比如还可以利用如下的方式:

Python pywin32库,识别对话框句柄,进而操作

SendKeys 库

keybd_event 模拟按键


文件 脚本 对话框 按钮 对话 代码 品牌 小强 文件名 测试 输入 上图 信息 元素 兴趣 内容 功能 句柄 字样 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浪潮服务器进pxe的方法 深圳计算机软件开发价格 软件开发需要看哪些书 电子商务网络安全问题提问 网络技术wifi 易语言怎么把图片写到数据库 互联网的科技 了解中国网络安全现状 软件开发需要上班吗 数据库原理和技术教学视频 49119网络安全技术与实训 软件开发是属于研发费用吗 db2数据库触发器性能 使命召唤17和服务器断开连接 济南数字化城管软件开发电话 惠普g9服务器固件免费下载 燃诺软件开发有限公司招聘 网络安全人才缺口填补 服务器崩溃的视频 我的世界服务器高级附魔软件 小学生网络安全知小报 吴兴区网络安全宣传 邮政软件开发岗待遇 南通江苏高性能服务器代理商 传奇无极数据库修改怪物外观 丹江口公司软件开发包括哪些 软件开发主要产品生产技术 百日安全竞赛网络安全 山东服务器运维管理系统模式 启晟互联网科技有限公司
0