我是windows自动化的新手。我正在使用autopy.Now自动化wireshark我需要打开一个文件wireshark。我没有swapy工具。我也不想在pywinauto.so中做这件事。我只想在pyshark.I中尝试一下。我尝试过这样:
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问题
发布于 2015-09-04 16:38:40
正如我所看到的,WireShark正在启动几秒钟。等待主窗口的时间需要超过默认超时时间(5秒)。
win.wait('ready', timeout=15)
如果弹出"Software Update“窗口,也可以处理该窗口:
if app.SoftwareUpdate.exists(timeout=10):
app.SoftwareUpdate.SkipThisVersion.click()
app.SoftwareUpdate.wait_not('visible') # just to make sure it's closed
win.wait('ready', timeout=15)
编辑(2019年1月21日):最新版本的WireShark构建于Qt5之上,当前的pywinauto示例保存在repo:examples/wireshark.py中。
但是pywinauto无论如何都不支持GDK小部件(甚至Windows UI Automation API也不支持GDK应用程序)。菜单对于pywinauto或基于UIA的工具不可用。您可以使用变通方法处理WireShark,如下所示:
win.type_keys('%F{ENTER}') # Alt+F, Enter (it calls "&File->&Open" menu)
app.WiresharkOpenCaptureFile.FilenameEdit.set_edit_text('I can set text here')
app.WiresharkOpenCaptureFile.Open.click()
app.WiresharkOpenCaptureFile.wait_not('visible')
"Open“对话框是Windows Open/Save对话框的标准变体,pywinauto在它上面支持许多控件。
要检查pywinauto支持哪个对话框,请使用print_control_identifiers()
方法:
win.print_control_identifiers() # prints nothing
app.WiresharkOpenCaptureFile.print_control_identifiers() # prints a lot of controls
https://stackoverflow.com/questions/32390929
复制相似问题