Я пытаюсь выполнить некоторые запросы доступа, используя pywinauto.Постоянно меняется ошибка.
После проверки свойств элемента управления я обнаружил, что имя запроса существует.Однако код выдает ошибку, указывающую, что совпадение не найдено.
import os
import subprocess
access_file = r'C:\Ren'
filename='test.accdb'
accessPath = 'C:\Program Files (x86)\Microsoft Office\Office15\MSACCESS.exe'
subprocess.Popen([accessPath,access_open])
dlg=Desktop(backend='uia').window(title_re='Access*')
sleep(10)
dlg.Navigation_Pane.Queries.Query1.invoke()
dlg.Yes.invoke()
print(dlg.print_control_identifiers())
Этот код работает в небольшой базе данных.Я попробовал 1-й на большой базе данных и получил ошибки, поэтому я создал тестовую базу данных с несколькими таблицами и запросами.Работает нормально.
Когда я изменяю dlg.Navigation_Pane.Queries.delete_reports.invoke()
и меняю путь к фактической базе данных.Я получаю MatchError: Could not find 'Queries'
.
Это свойства элемента управления.
GroupBox - 'Queries' (L4, T2979, R429, B5581)
| | | | ['Queries', 'QueriesGroupBox', 'GroupBox8', 'Queries0', 'Queries1']
| | | | child_window(title="Queries", control_type="Group")
Button - 'delete report' (L4, T3271, R429, B3301)
| | | | | ['Button147', 'delete reportButton', 'delete report']
| | | | | child_window(title="delete report", control_type="Button")
Я не могу понять, почему он работает в одной базе данных, а в другой - нет.
С уважением, Рен.