#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.