pywinatuo - ошибка доступа к базе данных Access для того же свойства - код работает на маленькой базе данных, а не на большой - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь выполнить некоторые запросы доступа, используя 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") 

Я не могу понять, почему он работает в одной базе данных, а в другой - нет.

С уважением, Рен.

...