工具: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

最新文章

  1. HTML与CSS二三事
  2. struts之动态方法调用使用通配符
  3. CoreAnimation(CA)
  4. Ant Tasks 使用总结
  5. Java中的Swing键盘绑定案例
  6. R6010 -abort() has been called
  7. Java-输入输出
  8. 【转】创业C2C(Copy To China):停车位共享APP,用户、市政能够买账?
  9. Linux学习笔记15——GDB 命令详细解释【转】
  10. asp的RegExp对象正则表达式功能用法
  11. Spark RDD算子介绍
  12. python 浅析类方法与静态方法
  13. vue的组件化运用(数据在两个组件互传,小问题总结)
  14. Java开发笔记(二十一)二维数组的扩展
  15. 修复因为存储空间问题引起的nexus 服务启动异常
  16. mongodb 导入文件
  17. .NET 实用扩展方法
  18. 【论文学习】YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
  19. hdu3400(三分套三分)
  20. 记录网件r6220路由器登录配置

热门文章

  1. 【C/C++】C++ warning: control reaches end of non-void function return
  2. 【CentOS】检查系统是否安装OpenSSH
  3. SQLyog 社区免费版下载
  4. UE4网络模块解析(一)
  5. tableau创建点位地图
  6. Table.Sort排序…Sort(Power Query 之 M 语言)
  7. 开启ipv6支持
  8. Flink的窗口处理机制(一)
  9. ARTS Week 18
  10. c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)