|
|
@ -234,6 +234,9 @@ def UIOSelector_Get_UIOList (inSpecificationList,inElement=None,inFlagRaiseExcep
|
|
|
|
#Все проверки пройдены - флаг добавления
|
|
|
|
#Все проверки пройдены - флаг добавления
|
|
|
|
if lFlagAddChild:
|
|
|
|
if lFlagAddChild:
|
|
|
|
lChildrenList.append(lChildrenItem)
|
|
|
|
lChildrenList.append(lChildrenItem)
|
|
|
|
|
|
|
|
print(123)
|
|
|
|
|
|
|
|
print(inElement)
|
|
|
|
|
|
|
|
print(123)
|
|
|
|
#Выполнить рекурсивный вызов (уменьшение количества спецификаций), если спецификация больше одного элемента
|
|
|
|
#Выполнить рекурсивный вызов (уменьшение количества спецификаций), если спецификация больше одного элемента
|
|
|
|
#????????Зачем в условии ниже is not None ???????????
|
|
|
|
#????????Зачем в условии ниже is not None ???????????
|
|
|
|
if len(inSpecificationList)>1 and len(lChildrenList)>0:
|
|
|
|
if len(inSpecificationList)>1 and len(lChildrenList)>0:
|
|
|
@ -639,7 +642,9 @@ def PWASpecification_Get_UIO(inControlSpecificationArray):
|
|
|
|
lTempObject=None
|
|
|
|
lTempObject=None
|
|
|
|
if len(inControlSpecificationArray) > 0:
|
|
|
|
if len(inControlSpecificationArray) > 0:
|
|
|
|
#Сформировать выборку элементов, которые подходят под первый уровень спецификации
|
|
|
|
#Сформировать выборку элементов, которые подходят под первый уровень спецификации
|
|
|
|
lSpecificationLvL1List = pywinauto.findwindows.find_elements(**inControlSpecificationArray[0])
|
|
|
|
lSpecDeepCopy = copy.deepcopy(inControlSpecificationArray)
|
|
|
|
|
|
|
|
lSpecDeepCopy[0]["backend"]=lBackend
|
|
|
|
|
|
|
|
lSpecificationLvL1List = pywinauto.findwindows.find_elements(**lSpecDeepCopy[0])
|
|
|
|
for lItem in lSpecificationLvL1List:
|
|
|
|
for lItem in lSpecificationLvL1List:
|
|
|
|
#Сделать независимую копию и установить информацию о process_id и handle
|
|
|
|
#Сделать независимую копию и установить информацию о process_id и handle
|
|
|
|
lItemControlSpecificationArray=copy.deepcopy(inControlSpecificationArray)
|
|
|
|
lItemControlSpecificationArray=copy.deepcopy(inControlSpecificationArray)
|
|
|
@ -761,6 +766,7 @@ def UIOSelector_SearchChildByMouse_UIO(inElementSpecification):
|
|
|
|
lElementFoundedList=[]
|
|
|
|
lElementFoundedList=[]
|
|
|
|
#Ветка поиска в режиме реального времени
|
|
|
|
#Ветка поиска в режиме реального времени
|
|
|
|
#Сбросить нажатие Ctrl, если оно было
|
|
|
|
#Сбросить нажатие Ctrl, если оно было
|
|
|
|
|
|
|
|
bool(win32api.GetAsyncKeyState(16))
|
|
|
|
bool(win32api.GetAsyncKeyState(17))
|
|
|
|
bool(win32api.GetAsyncKeyState(17))
|
|
|
|
bool(win32api.GetAsyncKeyState(18))
|
|
|
|
bool(win32api.GetAsyncKeyState(18))
|
|
|
|
#Оптимизация - получить объект для опроса единажды
|
|
|
|
#Оптимизация - получить объект для опроса единажды
|
|
|
@ -770,7 +776,7 @@ def UIOSelector_SearchChildByMouse_UIO(inElementSpecification):
|
|
|
|
while lFlagLoop:
|
|
|
|
while lFlagLoop:
|
|
|
|
#Проверить, нажата ли клавиша Ctrl (код 17)
|
|
|
|
#Проверить, нажата ли клавиша Ctrl (код 17)
|
|
|
|
lFlagKeyPressedCtrl=bool(win32api.GetAsyncKeyState(17))
|
|
|
|
lFlagKeyPressedCtrl=bool(win32api.GetAsyncKeyState(17))
|
|
|
|
lAltBool=bool(win32api.GetAsyncKeyState(18))
|
|
|
|
lAltBool=bool(win32api.GetAsyncKeyState(18)) or bool(win32api.GetAsyncKeyState(16))
|
|
|
|
#Подсветить объект, если мышка наведена над тем объектом, который не подсвечивался в прошлый раз
|
|
|
|
#Подсветить объект, если мышка наведена над тем объектом, который не подсвечивался в прошлый раз
|
|
|
|
if not lFlagKeyPressedCtrl:
|
|
|
|
if not lFlagKeyPressedCtrl:
|
|
|
|
#Получить координаты мыши
|
|
|
|
#Получить координаты мыши
|
|
|
|