본문 바로가기
Web.IT.Mobile/QA 자동화

셀레니움으로 구현 가능한/불가능한 동작

by sshongs 2025. 7. 19.

1. 셀레니움으로 구현 가능한 동작 (주요 예시)

구분 예시 설명
페이지 이동 driver.get(url), 링크/버튼 클릭 후 이동
클릭/입력 버튼/링크/탭 클릭, input/txtbox/tel 입력, radio/checkbox 선택
마우스 동작 클릭, 더블클릭, 마우스 오버(hover), 드래그앤드롭(Drag & Drop)
키보드 입력 키 입력(send_keys), 단축키, Enter, Ctrl 등 조합
텍스트 추출 element.text, attribute, innerHTML 등
스타일 확인 CSS 속성(value_of_css_property), 색상/폰트/크기 등
화면 캡처 driver.save_screenshot("file.png")
창/탭 제어 새창/새탭 열기, 전환, 닫기, 팝업 핸들링
Alert 처리 자바스크립트 alert/confirm/prompt 등 처리
파일 업로드 <input type="file">에 파일 경로 send_keys로 업로드
스크롤 JS 스크롤, 엘리먼트까지 스크롤, 맨 위/아래 이동
쿠키/세션 제어 driver.get_cookies(), add_cookie() 등
JS 실행 driver.execute_script("자바스크립트 코드")
모바일 브라우저 Appium 등 확장 활용시 모바일 브라우저 자동화 가능
네트워크/타임아웃 네트워크 지연, 로딩 대기, 요소 대기(WebDriverWait 등)
프레임/iframe 제어 iframe 전환, 내부 엘리먼트 제어

2. 셀레니움으로 구현 불가능하거나 한계가 있는 동작

구분 불가/한계 설명
OS 수준 동작 OS 알림(토스트, 푸시, 시스템 팝업), 윈도우/맥 OS 자체 기능 제어
네이티브 앱 PC/Mobile 앱(윈도우 앱, iOS/Android 앱의 네이티브 영역 직접 제어) (→ Appium 필요)
캡챠(CAPTCHA) 이미지/문자 자동입력방지(캡챠) 직접 해제 불가(외부 OCR, API 연동 필요)
오디오/비디오 실제 음성녹음, 마이크, 카메라, 영상플레이어 제어(플레이/정지 클릭만 가능)
DRM/보안플러그인 DRM, 보안프로그램 영역 접근/자동화 불가
하드웨어 연동 카드리더, USB, 블루투스 등 외부 디바이스 직접 제어
데스크탑 팝업 윈도우/맥의 파일선택 창 등 OS 네이티브 팝업(일부만 send_keys 가능)
브라우저 제한 브라우저 Add-on, Extension, 일부 보안정책 영역 제어 불가
성능측정/실시간 웹서버 응답속도, 렌더링타임 등 정밀 성능계측 한계(별도 툴/로깅 필요)
실시간 이벤트 브라우저 외부 이벤트(USB연결, 전원, OS강제종료 등)
그래픽/UI 효과 Canvas, WebGL 등 복잡한 그래픽 영역에서 픽셀단위 비교 불가(이미지비교 등 별도툴)
앱간 연동 웹→앱, 앱→웹 등 OS/브라우저 외부 통신 직접 제어는 불가

3. 정리표

구현 가능 구현 불가능/한계
웹사이트 내 모든 조작 OS 알림/팝업, 네이티브 앱, 하드웨어
HTML 요소 클릭/입력/확인 캡챠 자동해제, 마이크/카메라 직접 제어
CSS 속성, 마우스/키 동작 DRM/보안플러그인, 브라우저 Add-on
Alert, 프레임, JS 실행 외부 디바이스/실시간 외부 이벤트
화면캡처, 탭/창/스크롤 제어 성능측정, Canvas 픽셀비교 등

 

번역키 비교 확인 

내용 셀레니움 활용 가능 여부 비고
번역문 == 실제텍스트 비교 가능 엘리먼트 텍스트 추출
번역키(자동화 기준) 가능 key-value 매핑 활용
이미지 등 비텍스트 비교 불가 OCR 등 별도 툴 필요

 

  • "부분 일치", "불용문자/공백 제거", "대소문자 무시" 등 커스텀 비교 옵션도 쉽게 추가 가능
  • 언어별 페이지(EN/KO/JP/CN 등) 자동 전환도 코드로 제어 가능
  • 결과를 엑셀/리포트 등으로 자동 집계도 가능

 

반응형

댓글