Pywinauto菜单选择错误 - Wireshark
问题描述:
我是非常新的windows automation.I自动wireshark使用autopy.Now我需要打开一个文件wireshark.I没有swapy tool.I也dot想在pyshark.I做它只是想尝试只在pywinauto.so我想是这样的:Pywinauto菜单选择错误 - Wireshark
from pywinauto import application
print("Starting the proogram")
app=application.Application()
app.start_(r"C:\Program Files\Wireshark\Wireshark.exe")
win = app.window_(title_re = ".*Wireshark Network Analyzer.*")
win.MenuSelect("File->Open")
,但我得到这个错误如下:
pywinauto.findwindows.WindowNotFoundError
请帮我在这里用这个guys.Thanks提前
答
因为我ca见WireShark启动几秒钟。您需要等待主窗口超过默认超时(5秒)。
win.Wait('ready', timeout=15)
“软件更新”窗口还可以,如果弹出处理:
if app.SoftwareUpdate.Exists(timeout=10):
app.SoftwareUpdate.SkipThisVersion.Click()
app.SoftwareUpdate.WaitNot('visible') # just to make sure it's closed
win.Wait('ready', timeout=15)
但在任何情况下pywinauto不支持GDK部件(甚至是Windows UI自动化API不支持GDK应用)。菜单不适用于pywinauto或基于UIA的工具。您可以处理使用的解决方法只有像这样的是Wireshark:
win.TypeKeys('%F{ENTER}') # Alt+F, Enter (it calls "&File->&Open" menu)
app.WiresharkOpenCaptureFile.FilenameEdit.SetEditText('I can set text here')
app.WiresharkOpenCaptureFile.Open.Click()
app.WiresharkOpenCaptureFile.WaitNot('visible')
“打开”对话框是Windows打开/保存对话框的标准偏差和pywinauto支持就可以了许多控件。
要检查哪些对话由pywinauto使用可以很好地支持PrintControlIdentifiers()
方法:
win.PrintControlIdentifiers() # prints nothing
app.WiresharkOpenCaptureFile.PrintControlIdentifiers() # prints a lot of controls
做了回答帮助? –