반응형
자동화프로그램을 만들다가, 여러가지 난관에 봉착하는데, popup menu control로 그중에 하나이다.
메인 다이얼로그에 상단 메뉴는 menu_select를 이용해서 손쉽게 누를 수가 있다.
하지만, 마우스 오른쪽클릭하고난 뒤에 뜨는 팝업 메뉴는 spy++이나 window spy프로그램으로도 그 핸들 및 특성을 볼 수가 없다. 팝업메뉴 특성상, 마우스가 올려져있는 상태에서만 보이기 때문이다.
아래는 github에서의 한 질문답변 예제이다.
https://github.com/pywinauto/pywinauto/issues/647
파이썬 코드 편집프로그램 중 하나인 Sublime text프로그램을 이용한다.
경로와 다이얼로그 타이틀을 나에게 맞게 변경하고, 코드를 실행하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 17 20:26:06 2020
@author: kenro
"""
from pywinauto.application import Application
app = Application(backend="win32").start(r"C:\Program Files\Sublime Text 3\sublime_text.exe")
p_sublime = app.window(title_re=".*Sublime Text.*")
#p_sublime.dump_tree()
p_sublime.click_input(button='right')
print(app.PopupMenu.wait('ready').menu().items()) # crashed on Py2.7
app.PopupMenu.wait('ready').menu().get_menu_path('Paste\tCtrl+V')[0].click_input()
|
cs |
MenuItem뒤에 써있는 Cut, Copy, Paste, Select All등이 메뉴내 아이템들이다.
추가적인 메뉴컨트롤의 메소드들은 아래 링크에 있다.
반응형
'Software coding skill(python, web등)' 카테고리의 다른 글
pyinstaller - exe 용량 줄이기 (0) | 2020.02.27 |
---|---|
작업 스케줄러 - 관리자 권한 실행 (14) | 2020.02.27 |
Python 1 - 파일 복사 붙여넣기 / 파일 이름 카운트업 저장 (0) | 2020.02.19 |
pywinauto 11 - 열려있는 어플리케이션 확인 (0) | 2020.02.19 |
tqdm 사용법 - python 진행률 프로세스바 (4) | 2020.02.15 |
Pandas 1 - csv 데이타 읽고 / 처리 / 추가 / 저장 (0) | 2020.02.13 |
pywinauto 10 - find window 중복 에러 벗어나기 (0) | 2020.02.12 |
pywinauto 8 - 어플리케이션 인스턴스 생성 (0) | 2020.02.11 |