Python + Selenium 上传元素为button类型的文件的解决办法
2024-09-05 00:27:45
工具: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
最新文章
- HTML与CSS二三事
- struts之动态方法调用使用通配符
- CoreAnimation(CA)
- Ant Tasks 使用总结
- Java中的Swing键盘绑定案例
- R6010 -abort() has been called
- Java-输入输出
- 【转】创业C2C(Copy To China):停车位共享APP,用户、市政能够买账?
- Linux学习笔记15——GDB 命令详细解释【转】
- asp的RegExp对象正则表达式功能用法
- Spark RDD算子介绍
- python 浅析类方法与静态方法
- vue的组件化运用(数据在两个组件互传,小问题总结)
- Java开发笔记(二十一)二维数组的扩展
- 修复因为存储空间问题引起的nexus 服务启动异常
- mongodb 导入文件
- .NET 实用扩展方法
- 【论文学习】YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
- hdu3400(三分套三分)
- 记录网件r6220路由器登录配置
热门文章
- 【C/C++】C++ warning: control reaches end of non-void function return
- 【CentOS】检查系统是否安装OpenSSH
- SQLyog 社区免费版下载
- UE4网络模块解析(一)
- tableau创建点位地图
- Table.Sort排序…Sort(Power Query 之 M 语言)
- 开启ipv6支持
- Flink的窗口处理机制(一)
- ARTS Week 18
- c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)