파이썬 셀레니움, 새로운 창 없이 로그인 세션으로 코드 실행
파이썬에서 셀레니움을 활용하면 보통 새 창을 열어 웹 페이지를 제어합니다. 하지만 일부 사이트는 이러한 자동화 작업을 감지해 로그인을 차단하는 경우가 있습니다. 이때, 이미 로그인된 창에서 코드를 실행하면 이러한 문제를 해결할 수 있습니다. 이번에는 로그인된 상태의 브라우저에서 파이썬 코드를 실행하는 방법을 단계별로 알아보겠습니다.
1. 명령 프롬프트에서 Chrome의 설치 경로 찾기
먼저 명령 프롬프트(cmd)를 열어 Chrome이 설치된 경로로 이동합니다. 'cd..' 명령을 사용하면 상위 디렉토리로 이동할 수 있으며, 'cd Program Files' 명령을 통해 Program Files 디렉토리로 진입합니다. Chrome 설치 경로를 정확히 찾아야 다음 단계로 진행할 수 있습니다.
2. Chrome을 디버깅 모드로 실행하기
명령 프롬프트에서 Chrome이 설치된 경로로 이동한 후, 다음 명령어를 입력해 Chrome을 디버깅 모드로 실행합니다. 이 명령어는 브라우저에서 디버깅을 가능하게 하여 이미 로그인된 세션을 유지한 채 파이썬으로 제어할 수 있도록 합니다.
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:/Chrome_Temp_Debug"
3. 파이썬에서 디버깅된 Chrome 제어하기
이제 파이썬에서 Chrome 디버깅 세션을 제어하는 코드를 작성할 차례입니다. 아래의 코드를 사용하면 이미 실행된 Chrome 창에서 네이버 사이트로 자동으로 이동하는 것을 볼 수 있습니다. 이때 중요한 부분은 'debuggerAddress' 옵션을 설정해 기존 브라우저 세션을 연결하는 것입니다.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_opt = Options()
chrome_opt.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "C:\Program Files\Google\Chrome\Application\chrome.exe"
driver = webdriver.Chrome(options=chrome_opt)
driver.get('https://www.naver.com/')
4. 세션 유지와 추가 작업
위 방법을 통해 기존 로그인 세션을 유지한 채 자동화를 구현할 수 있습니다. 로그인된 상태로 사이트 이동뿐만 아니라, 크롤링, 폼 제출, 데이터 추출 등 다양한 작업도 가능합니다. 이렇게 하면 봇 탐지를 피할 수 있어 자동화 작업이 훨씬 효율적으로 진행됩니다.
'IT > 코딩' 카테고리의 다른 글
Chat GPT API를 활용한 파이썬 이미지 분석 초간단 가이드 (1) | 2024.10.18 |
---|---|
파이썬으로 네이버 블로그 포스팅 글자수, 이미지수 세는 방법과 감정 분석 (6) | 2024.10.08 |
파일명 일괄 변경하는 방법, 프로그램 다운로드 없이 손쉽게! (1) | 2024.10.01 |
파이썬 활용 네이버 블로그 글자 수, 이미지 수 분석 방법! (1) | 2024.09.15 |
티스토리 자동 목차 쉽게 만드는 법, 복사 붙여넣기로 10분 완성! (3) | 2024.09.14 |
댓글