Как получить доступ к первому элементу в разделе ListItem или ListItemWrapper

#python #pywinauto

Вопрос:

Как получить доступ к первому элементу в разделе ListItem или ListItemWrapper

Краткий пример кода, демонстрирующий проблему

 display=appNewConnect.AppWindow.child_window(title="Class Properties", control_type="Window").child_window(control_type="List").wrapper_object()

print(display)

Output:

uia_controls.ListViewWrapper - '', ListBox

checking dir(display) and used below methods

print(display.cells())
 

Выход:

 [[<uia_controls.HeaderItemWrapper - 'Display', HeaderItem, -1851307684>,

<uia_controls.HeaderItemWrapper - 'Expression', HeaderItem, 812249353>,

<uia_controls.HeaderItemWrapper - 'Label', HeaderItem, 1553609319>,

<uia_controls.HeaderItemWrapper - 'Scale', HeaderItem, -77800940>],

[<uia_controls.EditWrapper - '', Edit, 271613010>,

<uia_controls.StaticWrapper - 'All features', Static, 1012972976>,

<uia_controls.StaticWrapper - 'All features', Static, -618437283>,

<uia_controls.StaticWrapper - 'All scales', Static, 122922683>]]
 

Получение второго списка

 item = display.get_item(1)

print(item)
 

Выход:

 uia_controls.ListItemWrapper - '', ListItem
 

Я пытаюсь нажать на

<uia_controls.EditWrapper - '', Edit, 271613010>

но dir(элемент) не перечисляет никаких методов, которые можно использовать для доступа к первому индексу

элемент в списке

Как получить доступ к первому элементу в разделе ListItem или ListItemWrapper

Технические характеристики

Версия Pywinauto: 0.6.8

Версия и разрядность Python: 3.8.2

Платформа и ОС: windows 10

Комментарии:

1. display.cells() похоже, возвращает что-то похожее на список, так что произойдет, если вы его проиндексируете? т. Е. display.cells()[1][0] ?

2. Спасибо. это действительно помогает идентифицировать элемент, но все равно он не нажимает на него, а вместо этого нажимает на весь список в середине. Я попробовал double_click_input(координаты=(0, 0)), что делает свое дело. Если бы у нас были методы в ListItemWrapper, возможно, прямой щелчок (без координат) по этому элементу мог бы сработать

3. Рад, что вы нашли ответ: если вы добавите его ниже, это облегчит задачу следующему человеку, у которого есть эта проблема. Боюсь, я не использую pywinauto.