当前位置: 首页 > news >正文

【利用Selenium+autoIt实现文件上传】

利用Selenium+autoIt实现文件上传

  • 利用Selenium+autoIT实现文件上传
    • autoIt脚本制作
    • 转换成exe文件
    • java代码运行部分

利用Selenium+autoIT实现文件上传

当你看到这篇文章时,证明你遇到了和我一样的难题。正常情况下我们利用selenium完全可以实现表单的提交和文件上传等操作。但当你遇到了反扒设计比较厉害,整个表单都不是常规的input的时候,selenium就有点抓瞎了。
我要实现的需求是在某个官网做表单自动提交,在文件上传的时候发现对方网站根本不能像往常一样在value属性添加文件路径就OK,完全是一个动态的js去编辑,鼠标焦点一移开,立马就删除了。当时我真的很崩溃,没办法,我只能考虑其他的方案去处理,Selenium没办法监控到点击上传弹出来的文件上传框信息,我在网上查了很多资料,最终决定使用autoIt这个中间件来实现文件上传。
主要思路是:
selenium点击上传弹框,休眠一定时间后调用autoIT脚本上传文件,当然要有重试机制,这个恶心的网站不仅加载慢,而是全是js渲染,有时候你点击了但是弹框并没有出现。

autoIt脚本制作

第一步肯定要去官网下载最新版本的autoIT软件了,下载免安装的zip包就可以了。
下载之后解压到制定目录,对于弹框的元素定位网上有很多教程和案例,我就不在细说了,直接提供脚本给大伙。

; Check if the window is open
If WinExists("[CLASS:#32770]", "打开") ThenWinWaitActive("[CLASS:#32770]", "打开", 10); Focus on the file name input fieldControlFocus("[CLASS:#32770]", "打开", "Edit1"); Set the file path in the input fieldControlSetText("[CLASS:#32770]", "打开", "Edit1", $CmdLine[1]); Sleep for stability (optional, adjust as needed)Sleep(500); Click the Open buttonControlClick("[CLASS:#32770]", "打开", "[CLASS:Button; INSTANCE:1]"); Or use the button text to make it
http://www.lryc.cn/news/401669.html

相关文章:

  • python join
  • cython加速python代码
  • React@16.x(60)Redux@4.x(9)- 实现 applyMiddleware
  • level 6 day1 Linux网络编程之网络基础
  • PostgreSQL UPDATE 命令
  • 什么? CSS 将支持 if() 函数了?
  • function calling实现调用理杏仁api获取数据
  • Excel中用VBA实现Outlook发送当前工作簿
  • 从 ArcMap 迁移到 ArcGIS Pro
  • WSL2 的安装与运行 Linux 系统
  • 业务终端动态分配IP-DHCP技术、DHCP中继技术
  • 新一代大语言模型 GPT-5 对工作与生活的影响及应对策略
  • AI基于大模型语言存在的网络安全风险
  • 探索Perl语言:入门学习与实战指南
  • dp or 数学问题
  • kibana连接elasticsearch(版本8.11.3)
  • 基于python的图像去水印
  • Linux下Supervisor的安装与配置
  • 使用Pandas读取Excel文件将特定列转成str格式方法汇总
  • FPGA CFGBVS 管脚接法
  • 快速排序及归并排序的实现与排序的稳定性
  • 【系统架构设计】数据库系统(一)
  • 泛微e-cology WorkflowServiceXml SQL注入漏洞(POC)
  • <Rust><GUI>rust语言GUI库tauri体验:前、后端结合创建一个窗口并修改其样式
  • OBD诊断(ISO15031) 09服务
  • 客户端与服务端之间的通信连接
  • Font Awesome 图表图标
  • React Native 自定义 Hook 获取组件位置和大小
  • 如何在SpringCloud中使用Kafka Streams实现实时数据处理
  • InterSystems IRIS使用python pyodbc连接 windows环境,odbc驱动安装,DSN配置,数据源配置