点击查看
持续@2018
欢迎技术交流@2018

selenium 上传文件

selenium上传文件的方式

input类型上传文件:

1 #打开上传文件页面
2 
3 file_path = 'file:///' + os.path.abspath('test3.html')
4 
5 driver.get(file_path)
6 
7 #定位上传按钮,添加本地文件
8 
9 driver.find_element_by_name("file").send_keys(r'F:\xxxx\meinfoSSZNZLYX.txt')
View Code

非input类型上传文件:

通过pip install pypiwin32安装win32gui和win32con的库

 单文件上传:

 1 import win32gui
 2 
 3 import win32con
 4 
 5  
 6 
 7 # win32gui
 8 
 9         dialog = win32gui.FindWindow('#32770', u'文件上传')  # 对话框名字,不同流量器不同名
10 
11         ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
12 
13         ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
14 
15         Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
16 
17         button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button
18 
19  
20 
21         win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, r'C:\Users\AS\Desktop\inteData.xlsx')  # 往输入框输入绝对地址
22 
23         win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button
View Code

 多文件上传:

1 dialog = win32gui.FindWindow('#32770', u'文件上传')  # 对话框
2         ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None) 
3         ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
4         Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  
5         button = win32gui.FindWindowEx(dialog, 0, 'Button', None) 
6 
7         win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, r'"C:\Users\AS\Desktop\inteData.xlsx" "C:\Users\AS\Desktop\inteData.xlsx"')  #多文件上传
8         win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  
View Code

 

posted @ 2018-09-05 21:54  小姐姐1024  阅读(838)  评论(0编辑  收藏  举报