Python+selenium win32gui 上传附件
来源:互联网 发布:淘宝怎么能提高销量 编辑:程序博客网 时间:2024/06/14 07:00
Python是没有自带访问windows系统API的库的,需要下载。库的名称叫pywin32,可以从网上直接下载。
以下链接地址可以下载:http://sourceforge.net/projects/pywin32/files%2Fpywin32/ (下载适合你的Python版本)
运行以下代码import win32api 如果出现ImportError: No module named win32api 或者出现 ImportError: No module named win32con,说明你的库没有安装好。
介绍这个库里面最重要的两个模块:win32api和win32con。
win32api顾名思义,就是用python对win32的本地api进行了封装;
win32con个人理解为win32constant,即win32的常量定义。
安装pywin32时报错:
Python version 3.6-32 required, which was not found in the registry.
修改注册表信息:Local_Machine-> Software->Python->Python Core->3.6 改成 3.6-32
安装完pywin32后引用win32gui: from win32 import win32gui
Win32con不存在是因为它其实是win32里的constants,所以要用 from win32 import constants
假设你已熟悉win32,python编程,所以直接上代码:
#Upload file
# -*- coding: utf-8 -*-from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from win32 import win32gui
from win32 import constants
import time
dr.get('http://localhost/webapp')
time.sleep(2)
dr.find_element_by_id('UserName').clear()
dr.find_element_by_id('UserName').send_keys("sss")
time.sleep(1)
dr.find_element_by_id('btnLogin').click()
time.sleep(3)
dr.find_element_by_id("myFile-browseButtonWrap").click()
time.sleep(1)
dialog = win32gui.FindWindow('#32770', u'文件上传') #找到windows对话框参数是(className,title)
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)
#上面3句依次找对象,直到找出输入框Edit对象的句柄
button = win32gui.FindWindowEx(dialog, 0, 'Button', None) #确定按钮
# 跟上面示例的代码是一样的,只是这里传入的参数不同,如果愿意可以写一个上传函数把上传功能封装起来
win32gui.SendMessage(Edit, constants.WM_SETTEXT, 0, 'E:\Downloads\DATA.xlsx')
win32gui.SendMessage(dialog, constants.WM_COMMAND, 1, button)
print(dr.find_element_by_id("myFile-inputEl").text)
dr.quit()
阅读全文
0 0
- Python+selenium win32gui 上传附件
- selenium +au3上传附件
- selenium+Python 上传文件
- python+selenium 文件上传
- Use python win32gui for drawing
- Python Drawing Demo Using Win32gui
- selenium上传附件(借助AutoIt识别Windows上传窗口)
- (4)selenium常见问题-Autoit实现上传附件
- selenium+python+au3上传文件
- selenium+python send_keys() 上传文件
- python selenium 上传本地图片
- Python-selenium-多文件上传
- Python使用win32gui.SetWindowPos置顶窗口
- 上传附件
- 附件--上传
- 附件上传
- 附件上传
- 上传附件
- 机器学习之最小二乘法
- Ubuntu 搭建LNMP环境并支持thinkphp框架
- thermal_instance 代表zone和cool device的绑定的结果
- Mysql 登录相关
- C#学习-EF在三层中使用
- Python+selenium win32gui 上传附件
- 【python 可视化】pyecharts + Flask 使用指南
- GUI的用法
- springboot 使用thymeleaf 模板引擎时报错org.xml.sax.SAXParseException: 元素类型 "link" 必须由匹配的结束标记 "</link>" 终止
- C++指针1.0
- MySQL8.0新特性:增加系统文件追踪space ID和物理文件的映射
- 游戏客户端开发杂记
- 原码、反码、补码
- [IOS开发]图片压缩