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)
标签:
自动化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律