Я пытаюсь открыть программу с помощью pywinauto
, а затем щелкаю по строке меню, чтобы открыть «О программе ...». С моим кодом мне удается открыть программу, но я всегда получаю следующую ошибку:
RuntimeError: There is no menu.
Кроме того, хотя мне удается открыть программу, я получаю следующее сообщение:
UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python)
Я не уверен, почему я получаю это, и я пытался найти ответ в других темах на сайте, а также в документации, но это не помогло.
С Notepad
Мне удалось открыть его, щелкнуть мышью и даже ввести текст, но я не могу этого сделать с помощью этой программы. Я использую следующий код:
from pywinauto.application import Application
app=Application().start("C:\Program Files (x86)\Spicer Consulting\SC11 5.5\spectrum.exe")
dlg = app['spectrum']
dlg.print_control_identifiers()
app.spectrum.menu_select("Help->About...")
и получаю следующий результат:
'somePath'/spectrm objects.py:19: DeprecationWarning: invalid escape sequence \P
app=Application().start("C:\Program Files (x86)\Spicer Consulting\SC11 5.5\spectrum.exe")
C:\ProgramData\Anaconda3\lib\site-packages\pywinauto\application.py:1087: UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python)
UserWarning)
Control Identifiers:
LVFrame - 'spectrum' (L0, T0, R0, B0)
['spectrumLVFrame', 'spectrum', 'LVFrame']
child_window(title="spectrum", class_name="LVFrame")
Traceback (most recent call last):
File "<ipython-input-30-233ff4ffaa0e>", line 1, in <module>
runfile(''somePath'/spectrm objects.py', wdir='somePath')
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "'somePath'/spectrm objects.py", line 22, in <module>
app.spectrum.menu_select("Help->About...")
File "C:\ProgramData\Anaconda3\lib\site-packages\pywinauto\controls\hwndwrapper.py", line 1084, in menu_select
self.menu_item(path, exact=exact).select()
File "C:\ProgramData\Anaconda3\lib\site-packages\pywinauto\controls\hwndwrapper.py", line 1030, in menu_item
raise RuntimeError("There is no menu.")
RuntimeError: There is no menu.
Мой план после того, как я закончу с этим, состоит в том, чтобы отобразить всю программу (это означает, что я смогу контролировать каждую кнопку, флажок, список и т. д. c. в программе), поэтому мой вопрос разделен на 2:
Как решить проблему, указанную выше?
Как сопоставить все кнопки и виджеты в программе?
Любые предложения о том, как заставить все это работать?