我正在尝试使用 pywinauto 来使用 ABBYY FineReader 程序。我使用以下代码(基于此 YouTube 教程 https://www.youtube.com/watch?v=R4E4IOIC63s ):
from pywinauto.application import Application
Application(backend = 'uia').start(r'C:\Program Files (x86)\ABBYY FineReader 15\FineReaderOCR.exe', timeout = 5)
app = Application(backend = 'uia').connect(title = 'Untitled Project - ABBYY FineReader PDF 15 OCR Editor')
运行最后一行后,出现以下错误:
Traceback (most recent call last):
File "C:\Users\ariel\AppData\Local\Temp\ipykernel_6460\814936370.py", line 1, in <module>
app = Application(backend = 'uia').connect(title = 'Untitled Project - ABBYY FineReader PDF 15 OCR Editor')
File "C:\Users\ariel\anaconda3\envs\pdf_parser_env\lib\site-packages\pywinauto\application.py", line 997, in connect
self.process = findwindows.find_element(**kwargs).process_id
File "C:\Users\ariel\anaconda3\envs\pdf_parser_env\lib\site-packages\pywinauto\findwindows.py", line 87, in find_element
raise ElementNotFoundError(kwargs)
ElementNotFoundError: {'title': 'Untitled Project - ABBYY FineReader PDF 15 OCR Editor', 'backend': 'uia', 'visible_only': False}
当我执行规范的记事本示例时,我没有收到任何错误:
note = Application(backend = 'uia').start(r'notepad.exe').connect(title= 'Untitled - Notepad', timeout = 2)
我已经使用此处和其他论坛上具有类似问题的其他帖子来处理代码,但我无法弄清楚到底发生了什么,并且无法解决此错误。我的代码是否有问题,或者是否有某些程序不允许您使用 pywinauto?
最佳答案
根据 Vasily Ryabov 的评论,我使用了
print([w.window_text() for w in Desktop(backend="uia").windows()])
复制并粘贴窗口的名称并添加超时选项以进行良好的测量:
app = Application(backend = 'uia').connect(title = 'Untitled project - ABBYY FineReader PDF 15 OCR Editor', timeout = 5)
我现在发现我只是不必要地大写了“project”。
关于python - 使用 Pywinauto 自动化 ABBYY,我得到 "ElementNotFoundError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73739280/