如果我运行:
from pywinauto.findwindows import find_windows
find_windows(best_match="affafa")
我收到一个返回的异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\Python27\lib\site-packages\pywinauto\findwindows.py", line 204, in find_windows
best_match, wrapped_wins)
File "c:\Python27\lib\site-packages\pywinauto\findbestmatch.py", line 497, in find_best_control_matches
raise MatchError(items = name_control_map.keys(), tofind = search_text)
pywinauto.findbestmatch.MatchError: Could not find 'affafa' in '[u'CabinetWClass', u'Inbox (1,455) - ******@gmail.com - Gmail - Google Chrome', u'Chrome_WidgetWin_1', '', u'*new 2 - Notepad++Notepad++', u'python - Where does this pywinauto exception get its list from? - Stack Overflow - Google ChromeChrome_WidgetWin_1', u'C:\\Windows\\system32\\cmd.exe - pythonConsoleWindowClass1', u'C:\\Windows\\system32\\cmd.exe - pythonConsoleWindowClass0', u'C:\\Windows\\system32\\cmd.exe - pythonConsoleWindowClass2']' # this list has been shortened for security reasons
我想做的是,找出巨大的进程列表来自哪里并直接调用它。
到目前为止我一直在搞乱
find_windows(visible_only = False)
# and some of the other options listed in findwindows.py
但是所有 find_windows 选项只返回一个数字列表,这些数字来自文档,我认为是进程 ID....,由于某种原因,它与我所拥有的不匹配(例如,我创建了一个“计算器”)它的进程ID是6566,然后我运行find_windows(),但我找不到其中的进程ID。所以这是我遇到的另一个问题....但如果我能得到我的巨大列表,我可以解决这个问题。
这是我在堆栈溢出问题上提出的第一个问题。我希望我让你们感到骄傲
最佳答案
如果您想获取所有窗口的名称列表,您应该使用下一个构造。
handles = pywinauto.findwindows.find_windows()
for w_handle in handles:
wind = app.window_(handle=w_handle)
print wind.Texts()
您可以通过 find_windows
函数的下一个参数过滤/扩展列表:
- top_level_only 仅顶层窗口(默认=True)
- visible_only 仅可见窗口(默认=True)
- enabled_only 仅启用窗口(默认=True)
- active_only 仅事件窗口(默认=False)
关于python - 这个 pywinauto 异常从哪里获取它的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428383/