zoukankan      html  css  js  c++  java
  • 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:xxxxmeinfoSSZNZLYX.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:UsersASDesktopinteData.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:UsersASDesktopinteData.xlsx" "C:UsersASDesktopinteData.xlsx"')  #多文件上传
    8         win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  
    View Code
  • 相关阅读:
    (转) Nova是如何统计OpenStack资源
    (转) 一次批量重启引发的Neutron网络故障
    (转)理解Keystone的四种Token
    neutron 虚拟机网络问题调试
    转 Nova: 虚机的块设备总结 [Nova Instance Block Device]
    kvm 客户机系统的代码是如何运行的
    12 while循环
    11猜拳游戏
    10 if 嵌套
    09 if...elif..else语句
  • 原文地址:https://www.cnblogs.com/xiaochou1024/p/9407625.html
Copyright © 2011-2022 走看看