【发布时间】:2021-10-18 09:18:53
【问题描述】:
我的主要目标:自动化Zoom
我的 zoomModule.py 文件是:
import os, pywinauto
from pywinauto import Desktop
from pywinauto import findwindows
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
# Create a instance of Application()
app = Application(backend="uia")
def get_Zoom_Main_Window():
"""starts and connect to zoom main window"""
zoom_exe_path = os.path.join(
os.environ["USERPROFILE"], "AppData", "Roaming", "Zoom", "bin", "Zoom.exe"
)
try:
print("starts and connect to zoom main window")
start = app.start(
zoom_exe_path,
timeout=100,
)
print("1. Zoom Started")
connected = start.connect(title="Zoom", timeout=5)
print("1. Zoom Connected")
return connected
except (
pywinauto.findwindows.ElementNotFoundError,
pywinauto.timings.TimeoutError,
) as e:
print("Err_context before 2nd try: ", e.__context__)
try:
print("Second try")
start = app.start(
zoom_exe_path,
timeout=100,
)
print("2. Zoom started")
connected = start.connect(title="Zoom - Not connected", timeout=20)
print("2. Zoom connected")
return connected
except (
pywinauto.findwindows.ElementNotFoundError,
pywinauto.timings.TimeoutError,
) as err:
print(err.__context__)
print("Unknown Problem; Check internet connection and try again!")
def open_join_meeting_window():
"""opens the Join Meeting Popup Window; returns the Join Meeting Window"""
zoomMainWin = get_Zoom_Main_Window()
zoomMainWin["Zoom"].child_window(
title="Home", control_type="TabItem"
).wrapper_object().click_input()
zoomMainWin["Zoom"].child_window(
title="Join", control_type="Button"
).wrapper_object().click_input()
try:
joinMeetingWin = app.connect(title="Join Meeting", timeout=15)
print("Connected to Join Meeting Window.")
except (findwindows.ElementNotFoundError, pywinauto.timings.TimeoutError) as e:
print("Err before joinMeetingWin: ", e)
pass
# joinMeetingWin['Join Meeting']
hek = open_join_meeting_window()
print("Haa! out of the function")
终端,当我运行上述文件时:
PS D:\PythonDevelopment\my_CLI_tools> python zoomModule.py
starts and connect to zoom main window
1. Zoom Started
1. Zoom Connected
Err before joinMeetingWin:
Haa! out of the function
PS D:\PythonDevelopment\my_CLI_tools>
查看e 在open_join_meeting_window() 中的Err before joinMeetingWin: 之后如何不打印或保持空白。get_Zoom_Main_Window() 中的 try-except 块也会发生同样的情况
我曾在谷歌上寻求帮助,但无济于事。
我想达到什么目的?
最低期望:我可以print() pywinauto 向控制台/终端提出的错误而不会导致我的代码崩溃。
更多期望:我可以避免@如果可能的话,在我的代码中使用 987654330@ 块。实现finding and connecting to the required window、getting hold of child_window() 和switching between open windows 的更好方法。
我的方法可能是错误的。在这种情况下,请告诉我正确的程序。
【问题讨论】:
-
@abdou_dev 你能帮我解决这个问题吗?请问??
-
请人帮忙!!!
-
@VasilyRyabov 你能帮帮我吗!我真的被困住了。