• Python+selenium


    某些页面在做页面文件上传交互的时候,有的会调出window的系统窗口来导入某些文件,这个时候单纯的用python+selenium已经无法满足这个处理

    这个时候可以应用别的库来支援,对于这个我也是第一次遇到,所以记录一下自己整一个体验的过程。

    方法一:

    工具:为了更好的了解这个window的窗口控件,下载了查看空间的软件:WinSpy-1.0.3.7z

    查看窗口的详细情况,便于定位到正确位置

    主要的代码:

    主要函数的用法:

    win32gui.FindWindow 函数:该函数获得一个顶层窗口的句柄,这个函数不查找子窗口。在查找时不区分大小写。

    handle=win32gui.FindWindow(class_name,window_title)  : class_name:窗口的类,window_title:窗口的标题   。返回结果为当前窗口的句柄信息

    win32gui.FindWindowEx函数:该函数获得一个窗口的句柄,这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始

    win32gui.FindWindowEx(handle,child,class_name,window_title):

    handle:要查找子窗口的父窗口句柄

    child:子窗口句柄   ,如果参数为0,查找从顶层窗口的第一个子窗口开始

    class_name:类名

    window_title:窗口名称

    win32gui.SendMessage(handle,Massage,wParam,lParam):

    handle :接收信息的窗口句柄

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

    wParam:消息的wParam参数

    lParam:消息的lParam参数

    WM_SETTEXT 消息:设置窗体的文本 ,wParam:未使用,lParam:变量名,窗体文本将被设置为该字符串。

    win32api.SendMessage(Mhandle, win32con.WM_COMMAND, 1, confirmBTN_handle) :利用一个WM_COMMAND消息来点击确定按钮 

    方法二:

    工具:https://www.autoitscript.com/site/autoit/downloads/  --下载Download Autolt

    --安装完毕

    脚本的编辑基本与上面的差不多--通过定位操作相关的功能

    --File-Save as 

    --直接在脚本编辑窗口运行  Tools-Go(F5)

    --编译为可执行文件.exe 

    --生成的exe ,直接双击可运行,或者是python调用 

    如:

    import os
    os.system("E: est.exe")

  • 相关阅读:
    java获得两个日期之间的所有月份
    Java设计模式之观察者模式
    SpringMVC项目配置
    Java设计模式之策略模式
    Tomcat源码
    线程池
    java内存模型
    JVM内存结构 JVM的类加载机制
    java虚拟机-垃圾回收算法
    并发容器-ConcurrentHashMap,CopyOnWriteArrayList
  • 原文地址:https://www.cnblogs.com/yimihua-kai/p/12099208.html
Copyright © 2020-2023  润新知