python处理不同操作系统的系统弹框(自动化)

代码中的path需按照实际情况填写

文件上传弹框

sys = platform.system()        
if sys == "Windows":
  time1 = time.strftime('%m%d%H%M%S', time.localtime())
  startTime = datetime.now()
  handle = ""
  while (datetime.now() - startTime).seconds < 20:
      handle = win32gui.FindWindow(None, u"Save")
      if handle != 0:
          break
  time.sleep(1)
  a1 = win32gui.FindWindowEx(handle, None, "DUIViewWndClassName", None)

  a2 = win32gui.FindWindowEx(a1, None, "DirectUIHWND", None)

  a3 = win32gui.FindWindowEx(a2, None, "FloatNotifySink", None)

  a4 = win32gui.FindWindowEx(a3, None, "ComboBox", None)

  hwnd_filename = win32gui.FindWindowEx(a4, None, "Edit", None)

  win32gui.SendMessage(hwnd_filename, win32con.WM_SETTEXT, None, path)
 
  # 点击保存按钮
  time.sleep(1)
  hwnd_save = win32gui.FindWindowEx(handle, None, "Button", None)
  win32gui.PostMessage(hwnd_save, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
  win32gui.PostMessage(hwnd_save, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
elif sys == "Linux":
    time1 = time.strftime('%m%d%H%M%S', time.localtime())
    time.sleep(2)
    import pyautogui
    pyautogui.typewrite(path)
    time.sleep(2)
    pyautogui.press("enter")

文件下载弹框

system_version = platform.release()
sys = platform.system()
if system_version == "10":
    startTime = datetime.now()
    handle = ""
    while (datetime.now() - startTime).seconds < 20:
        handle = win32gui.FindWindow(None, u"另存为")
        if handle != 0:
            break
    time.sleep(1)
    a1 = win32gui.FindWindowEx(handle, None, "DUIViewWndClassName", None)

    a2 = win32gui.FindWindowEx(a1, None, "DirectUIHWND", None)

    a3 = win32gui.FindWindowEx(a2, None, "FloatNotifySink", None)

    a4 = win32gui.FindWindowEx(a3, None, "ComboBox", None)

    hwnd_filename = win32gui.FindWindowEx(a4, None, "Edit", None)

    win32gui.SendMessage(hwnd_filename, win32con.WM_SETTEXT, None, path)
    # 点击保存按钮
    time.sleep(3)
    hwnd_save = win32gui.FindWindowEx(handle, None, "Button", None)
    win32gui.PostMessage(hwnd_save, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
    win32gui.PostMessage(hwnd_save, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
elif system_version == "7":
    startTime = datetime.now()
    while (datetime.now() - startTime).seconds < 20:
        handle = win32gui.FindWindow(None, u"另存为")
        if handle != 0:
            break
    time.sleep(1)
    k = PyKeyboard()
    k.type_string(path)
    k.tap_key(k.tab_key)
    time.sleep(2)
    k.tap_key(k.tab_key)
    time.sleep(2)
    k.tap_key(k.tab_key)
    time.sleep(2)
    k.tap_key(k.enter_key)
elif sys == "Linux":
    time.sleep(2)
    pyautogui.typewrite(path)
    time.sleep(2)
    pyautogui.press("enter")
    time.sleep(1)

posted on   bbzhang  阅读(184)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示