😀 네이버 블로그에 작성했던 후기
📅 온라인 라이브 수업 : 2024.03.06(수) PM 20시 ~ 23시
📍 복습 vod 시청 : 2024.03.08
시작 전, 궁금했거나 알고 싶었던 내용
1. 이전 과제에 대한 피드백이 있는지?
2. 오늘은 pyautogui 모듈 내용 진행할까?
3. 리포트 하는 방법?
학습내용
1. 대표적으로 발생하는 에러와 처리 방법
2. Selenium과 함께 사용 시 시너지가 발생하는 모듈
3. 테스트 결과 리포트 만들기
예외처리
1. WebDriverException
: 코드 실행 시 웹 브라우저 자체에서 오류가 발생하는 경우
- 조치 방법
- 네트워크 상태 확인, 재접속 시도, URL 오타 확인, WebDriver 경로 확인 등
- 코드 진행을 멈추고 원인 파악이 필요한 환경 설정에 대한 문제일 확률이 가장 크다!
2. NoSucjElementException
: Element 로딩, 인식이 실패하는 경우 발생
- 조치 방법
- 재접속 시도, refresh(), URL 오타 확인, 엘리먼트 지정자 오타 확인 등
- try-except 문으로 예외처리, 코드 수정 필요한 경우가 많음
보이는 것이 전부가 아니다!
UI적으로는 정상이지만, 에러가 발생할 수 있다.
=> 에러 내용을 확인해 보아야 한다.
3. 웹 페이지 에러내용 확인하기
<자주 만날 수 있는 에러 레벨 3가지>
1. INFO : 정보
2. WARNING : 경고
3. SEVERE : 심각한 오류
requests 모듈
파이썬 코드에서 웹 페이지에 요청을 보내고 응답을 받아오는 모듈
HTML 소스코드, HTTP 상태 코드를 받을 수 있다.
대표적으로 GET방식의 요청과 POST방식의 요청을 보낼 수 있다.
- GET : 세버에서 데이터를 읽어올 때 사용
- POST : 서버에서 데이터를 생성하거나 업데이트할 때 사용
** Selenium : front 단의 기능 검증 가능
** Requests : server 단의 상태 검증 가능
pyautogui 모듈
Python코드로 브라우저에 한정되지 않고 마우스와 키보드를 자동으로 제어할 수 있는 기능을 제공하는 모듈
그 외에도 스크린샷을 촬영하거나 이미지 인식등의 기능도 제공한다.
Selenium보다 간단한 방법으로 제어가 가능하지만, Selenium의 기능이 더 강력하다.
브라우저 한정이 아니기 때문에 별도의 웹 드라이버도 필요하지 않다.
=> Selenium보다 간단한 방법으로 키보드와 마우스를 제어하고 이미이 인식 봇을 만들 수 있다.
Selenium이 강력한 이유
- 좌표 기반 자동화는 웹 페이지, 브라우저의 크기, 사용자, PC, 모니터 해상도 등 환경의 변화에 취약
- 대상을 인식하지 않기 때문에 대상의 존재 여부와 관계없이 클릭을 수행하여 테스트 결과의 신뢰도 하락
- Selenium은 elementㅇ를 인식하여 동작하므로 element의 부재를 인식해 대응 가능
- Element 자체를 인식하기 때문에 element의 UI 등이 바뀌어도 올바른 element 인식 가능
=> selenium과 pyautogui를 함께 적절히 사용하는것이 가장 좋은 방법이다!
** 함께 사용 시 장점
1. selenium으로 정확한 대상의 인식과 상태를 확인할 수 있다.
2. 정확한 대상에 키보드, 마우스를 보다 간단하게 제어할 수 있다.
3. 특별한 대상이 필요없는 상황에서 Pyautogui로 키보드, 마우스 제어가 가능하다.
4. 간단한 코드로 스크린샷을 촬영해 상황에 대한 근거자료를 만들 수 있다.
5. 이미지를 인식해 대상을 UI단에서 확인할 수 있다.

강의후기
1. 해당 강의를 신청한 이유, 가장 궁금하고 해보고 싶던 부분이 진행되어 좋았습니다.
2. 구두 설명만 하는게 아닌 실제 코드 작성 동작을 보여주고, 실습 시간이 있어 좋았습니다.
3. 과제가 해당 주차에 진행된 내용을 제대로 사용할 수 있는것 같습니다.
