• pythonselenium 文件上传操作


    一、文件上传操作

    小工具辅助:Spy++;

    安装pywin32的库,命令行安装 python -m pip install pypiwin32,安装后重启Pycharm

    win32gui.FindWindow(IPClassName,IPWindowName)

    自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄;

    IPClassName:类名,在Spy++里能够看到;

    IPWindowName:窗口名,标题栏上能看到的名字

    win32gui.FindWindowEx(hwndParent=0,hwndChildAfter=0,IPszClassName=None,IPszWindowName=None)

    搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄,找不到就返回0;

    hwndParent:若不为哦,则搜索句柄为hwndParent的窗口子窗体;

    hwndChildAfter:若不为0 ,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体;

    IPszClassName:字符型,是窗口的类名,这个可以在Spy++里找到;

    IPszWindowName:字符型,是窗口名,也就是标题栏上能看到的那个标题

    win32gui.SendMessage(hWnd,Msg,wParam,IParam)

    hWnd:整型,接收消息的窗口句柄;

    Msg:整型,要发送的消息,这些消息都是windows预定义好的;

    wParam:整型,消息的wParam参数;

    IParam:整型,消息的IParam参数;

    如:百度网盘上传操作--点击上传按钮弹出文件框

    #文件上传操作--命令行安装 python -m pip install pypiwin32,或setting设置里安装pypiwin32,安装后重启Pycharm
    import win32gui
    import win32con
    import time
    
    #以百度网盘上传为例,点击上传,弹出上传文件对话框
    #一级顶层窗口
    dialog = win32gui.FindWindow("#32770","打开")
    #二级窗口
    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",None)
    
    #1、输入文件路径
    filepath = "E:\\chromedriver.exe"
    win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filepath)
    time.sleep(5)
    #2、点击打开按钮
    win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button)
    打开文件上传弹框,可直接运行!
  • 相关阅读:
    mingw-gcc-10.0.1-experimental-i686-posix-sjlj-20200202-0303907
    可以修改 QtScrcpy 窗口大小的小工具
    autosub 添加代理服务器参数 -P --proxy
    Python网络数据采集系列-------概述
    【刷题笔记】I'm stuck! (迷宫)-----java方案
    【刷题笔记】火车购票-----java方案
    mvc自定义全局异常处理
    使用html2canvas实现浏览器截图
    再谈Newtonsoft.Json高级用法
    Spire.Doc组件读取与写入Word
  • 原文地址:https://www.cnblogs.com/simran/p/9250783.html
Copyright © 2020-2023  润新知