-
파이썬 - Pyautogui activate() 안될때트러블슈팅 2023. 2. 1.반응형
문제 분명 코드에 이상은 없는데 activate() 메소드가 처음만 작동을하고 이후에 exception이 잡힘 에러 내용 PyGetWindowException: Error code from Windows: 0 - 작업을 완료했습니다. 기존 코드
def active_edge(driver): edge_windows = pyautogui.getWindowsWithTitle("Edge")[0] try: if edge_windows.isActive == False: edge_windows.activate() edge_windows.restore() if edge_windows.isMaximized == False: edge_windows.maximize() except Exception as e: print(e) return
내가 원하는 동작 : 해당 함수가 실행될시 이미 열려있는 엣지 브라우저 활성화 및 윈도우 창 크기 최대화
하지만 엣지 이름을 가진 윈도우 창이 존재 함에도 불구하고 왜 except로 넘어가는지 이유를 모르겠음.
아무리 시도해도 똑같은 에러만 나오는 와중에 찾은 해결법은
이미 불러와져 있는 윈도우 창이기때문에 한번더 불러오려고 했기 때문 즉 이미 존재하는 윈도우 창을 다시 활성화 시키면 되는 것.
수정 코드
def active_edge(driver): edge_windows = pyautogui.getWindowsWithTitle("Edge")[0] try: if edge_windows.isActive == False: edge_windows.activate() edge_windows.restore() if edge_windows.isMaximized == False: edge_windows.maximize() except Exception as e: edge_windows.minimize() edge_windows.maximize() return
except로 넘어온다면 edgd_windows 변수를 최소화 시켰다 최대화 시키면 내가 원하는 방향으로 작동을 잘 한다.
해결법을 찾은 링크
https://github.com/asweigart/PyGetWindow/issues/16
같은 윈도우 요소를 단지 최소화 했다가 최대화 해보라고 나온다.
추가적인 import나 복잡한 라이브러리 추가 없이 단순하게 해결을 하였다.
반응형'트러블슈팅' 카테고리의 다른 글
Mac os 파이썬 - SSLCertVerificationError (0) 2023.07.23 오즈리포트 - 서버 오류 (1300100051),(1300100053) (0) 2023.02.08 인텔리제이 - Failed to load driver class oracle.jdbc.OracleDriver... (0) 2022.11.23 자바스크립트 - 개발자 도구를 열 때만 정상 작동할 경우 (0) 2022.09.19 자바스크립트 .js 파일 수정한거 적용 안될 때 (0) 2022.09.15