首页 > Web开发 > 详细

selenium自动化文件上传

时间:2020-03-19 21:26:55      阅读:59      评论:0      收藏:0      [点我收藏+]

Windows平台的文件上传:pywin32, 安装命令: pip install pywin32  ps:识别工具 点击下载:winspy   提取码:ie6o

 

一、先来看上传文件的弹框,它是没有办法用 F12 来定位的,因为它是 Windows 操作系统的文件管理

技术分享图片

 

 二、pywin32的代码一定要等到这个操作系统的框出现才能执行,它只处理 Windows 的控价。

需要借助 Windows 的空间识别工具   winspy      点击下载:winspy  提取码:ie6o

 

技术分享图片

技术分享图片

 

 

 

三、按照绝对路径找元素,一层一层找外面的祖宗元素  我这是 Chrome 浏览器,不同的浏览器 title 不一样

谷歌的是"打开",火狐的是 "文件上传"

技术分享图片

 

 

 

  文件输入框的元素:(这是反着找的,先找需要的再找的上级元素)

  Edit - ComboBox -  ComboBoxEx32 - #32770

    "打开"按钮的元素:(同上)

  Button -  #32770

 

四、需要修改的就是浏览器的窗口类型是什么, browser_type="chrome" 

  文件上传是绝对路径

  前提是:Windows 上传窗口必须要出现 

 

# 1\找到输入框和打开按钮 元素;2、输入地址,点击打开。
# 前提 :windows上传窗口已经出现。sleep1-2秒等待弹出的出现。
def upload(filePath, browser_type="chrome"):
    if browser_type == "chrome":
        title = "打开"
    else:
        title = ""

    # 找元素
    # 一级窗口"#32770","打开"
    dialog = win32gui.FindWindow("#32770", title)
    #
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)  # 二级
    comboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, "ComboBox", None)  # 三级
    # 编辑按钮
    edit = win32gui.FindWindowEx(comboBox, 0, Edit, None)  # 四级
    # 打开按钮
    button = win32gui.FindWindowEx(dialog, 0, Button, "打开(&O)")  # 二级

    # 往编辑当中,输入文件路径 。
    win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, filePath)  # 发送文件路径
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 点击打开按钮


time.sleep(2)
upload("D:\\GifCam5.0 .exe")

 

selenium自动化文件上传

原文:https://www.cnblogs.com/yongzhuang/p/12519537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!