01. 제목
패스트캠퍼스 환급챌린지 50일차 미션 (3월 21일) :
파이썬으로 할 수 있는 모든 것 with 47개 프로젝트 초격차 패키지 Online 수강 후기
02. 포스팅 본문 (학습 일기) 가이드
1. 학습 인증샷 2장 이상 포함


2. 학습 후기 700자 이상 (공백 제외)
오늘은 Selenium으로 인스타에 접속하고 로그인까지 하는 것을 배웠다.
일단 selenium을 인스톨 해주고 import webdriver 해준다. 그리고 chromedriver_autoinstaller도 설치해주면 되는데 파이참에서 미설치된 부분은 Alt + Enter 해서 설치해주면 되는데 이 크롬드라이버 오토인스톨러는 자동 설치 안내문이 뜨지 않아서 파일-설정-파이썬인터프리터 에서 +버튼 눌러서 chromedriver 검색하니 강의랑 다르게 오토인스톨러는 나오지않고 대신 binary가 나와서 대신 설치했는데 이 부분 궁금해서 검색을 해보아도 따로 설명된 부분이 없어서 보다가 보니 파이참 하단에 파이썬패키지 버튼에서 검색해보니 PyPl 여기에 라이브러리가 뜬다. 여기서 설치하고(0.6.4 버젼 설치했다) 다시 설정 인터프리터 들어가서 보니 콘다 패키지 관리자 사용이라는 버튼이 눌러져있어서 버튼 해제 시키고 검색하니 항목이 떴었다. 아무튼 그래서 다행히 import chromedriver_autoinstaller 설치도 무사히 완료했다.
driver.implicitly_wait() 이 코드는 괄호안에 3을 넣으면 초로 기본계산되어서 3초 정도 딜레이 시켜준다. 인스타같은 경우는 웹로딩하는게 바로 나오지 않기도 하고 실시간으로 데이터 등을 뿌려서 동적이미지 등이 나오는 곳은 이렇게 딜레이 구간을 넣어줘야 요청-응답에서 오는 시간차이 등의 에러가 발생하는 걸 방지해준다.
from selenium import webdriver
import chromedriver_autoinstaller
chromedriver_autoinstaller.install()
driver = webdriver.Chrome()
driver.implicitly_wait(3)
url = "https://www.instagram.com/"
실습예제를 진행하면서 중간에 실행을 했는데 오류가 생겼다.
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 123 Current browser version is 122.0.6261.113 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
대충 내용만 봐도 내가 설치한 크롬드라이버 버젼이 안맞다는 내용이었는데 혹시 binary 이걸 설치해서 문제가 되는 것인지 일단 관련 부분 챗지피티에게 도움을 요청해보았다.
----- 오류에 대한 ChatGPT 답변 -----
현재 문제는 시스템에 설치된 크롬 버전과 호환되지 않는 ChromeDriver 버전을 사용하고 있다는 것입니다. 오류 메시지에 따르면 사용 중인 ChromeDriver 버전은 크롬 버전 123을 지원하는데, 현재 시스템에 설치된 크롬 버전은 122.0.6261.113입니다.
이 문제를 해결하기 위해 몇 가지 옵션이 있습니다:
1. **ChromeDriver 업데이트**: 크롬 버전에 맞는 ChromeDriver 버전으로 업데이트할 수 있습니다. 공식 ChromeDriver 웹사이트(https://chromedriver.chromium.org/)에서 호환되는 ChromeDriver 버전을 다운로드한 다음 기존의 ChromeDriver 바이너리 파일을 새로운 것으로 대체하면 됩니다.
2. **크롬 브라우저 다운그레이드**: ChromeDriver를 업데이트하는 것이 어려운 경우, 현재 시스템에 설치된 ChromeDriver 버전을 지원하는 크롬 버전으로 다운그레이드할 수 있습니다. 그러나 이는 최신 크롬 브라우저 버전에서의 새로운 기능이나 보안 업데이트를 사용할 수 없게 할 수 있으므로 권장되는 해결책은 아닙니다.
3. **자동 WebDriver 관리 도구 사용**: WebDriverManager와 같은 자동 WebDriver 관리 도구를 사용하여 브라우저와 드라이버 버전 간의 호환성을 자동으로 관리할 수 있습니다. 이를 통해 WebDriver 종속성을 관리하는 프로세스를 단순화하고 브라우저와 드라이버 버전 간의 호환성을 보장할 수 있습니다.
적절한 해결책을 선택하고 ChromeDriver 또는 Chrome 브라우저 버전을 업데이트한 후에는 더 이상 ChromeDriver와 Chrome 브라우저 간 버전 불일치로 인한 "SessionNotCreatedException" 오류가 발생하지 않을 것입니다.
--------------------
위에서 설치했던 크롬드라이버 바이너리가 문제인듯 하여 패키지 삭제를 하고 다시 실행했다.
ValueError: Timeout value connect was <object object at 0x00000202A4F49720>, but it must be an int, float or None.
이제는 이런 오류가 생겼다. 정말 프로그래밍은 오류를 찾아서 해결하는 과정이 개발같은 느낌적인 느낌이 든다.
해당 부분 챗지피티 답변을 첨부한다.
----- 오류에 대한 ChatGPT 답변 -----
이 문제는 타임아웃 값으로 객체가 아닌 int, float 또는 None이어야 하는데 객체가 전달되었다는 것을 나타냅니다. 이것은 아마도 코드의 어딘가에서 예상치 못한 변수 형식의 값을 전달하여 발생한 것입니다.
일반적으로 타임아웃 값은 연결하는 데 걸리는 최대 시간을 정의하는 데 사용됩니다. 이 값은 정수(초), 부동 소수점(초) 또는 None(무한대 기다림) 중 하나여야 합니다.
이 문제를 해결하기 위해 다음 단계를 따를 수 있습니다:
1. 코드를 검토하여 어떤 부분에서 이 오류가 발생하는지 확인하십시오. 타임아웃 값이 전달되는 곳을 찾아야 합니다.
2. 전달된 타임아웃 값이 의도한 형식(정수, 부동 소수점 또는 None)을 준수하는지 확인하십시오.
3. 전달된 값이 객체인 경우에는 해당 변수를 디버그하고 어떻게 객체로 설정되었는지 확인하십시오. 이 값을 올바른 형식으로 변환하거나 정상적인 값으로 대체해야 합니다.
4. 코드에서 타임아웃 값을 설정하는 부분을 수정하여 올바른 형식의 값을 전달하도록 수정하십시오.
예를 들어, Python 코드에서 이러한 오류가 발생한다면 다음과 같이 수정할 수 있습니다:
```python
# 예상치 못한 객체가 전달되는 부분을 찾아서 수정합니다.
# 예를 들어, 연결 타임아웃을 설정하는 부분에서 객체가 전달되었다면 이를 수정합니다.
# 이 예제에서는 연결 타임아웃을 10초로 설정하는 예제입니다.
import requests
try:
response = requests.get("https://www.example.com", timeout=10) # 타임아웃 값을 올바르게 설정합니다.
print(response.text)
except Exception as e:
print("Error:", e)
```
이렇게 수정하면 코드가 타임아웃 값으로 인식되는 객체를 전달하지 않고 정확한 타임아웃 값(예: 10)을 전달하게 됩니다.
--------------------
03. 필수 본문 내용
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
04. 필수 해시태그
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
05. 필수 URL
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
[수강 강의 클립]
[Part 3.] 웹 크롤링 프로젝트
-Ch03. 인스타그램 좋아요, 댓글달기
02. Selenium으로 인스타 접속하기
03. Selenium으로 인스타 로그인하기
[※ 기타사항메모 ※]
{100% 환급챌린지 미션 가이드 참조 :
https://fastcampus.co.kr/event_online_challenge_2401_mission}
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr