파이썬(Python)

[ Selenium ] 크롬 브라우저 실행 시 내 정보를 유지한 채로 브라우저 띄우기

카루루1007 2024. 11. 6. 23:36
728x90
반응형

Selenium으로 브라우저를 조작하면

아래 그림과 같이 깨끗한 브라우저가 실행됩니다.

 

유튜브 사이트에 Selenium으로 접속해 보면

아래 그림과 같이 아무런 기록도 없는 채로 브라우저가 실행됩니다.

 

이럴 때 불편한 사항들이 몇 가지 있는데,

저 같은 경우는 

자동로그인이 설정되어 있어서, 사용할 때 별도 로그인을 하지 않아도 되는데

Selenium으로 브라우저를 조작하게 되면

로그인에 필요한 코드까지 작성을 해주어야 하고,

심지어 로그인이 잘 되지 않는 곳도 있습니다.

 

오늘은 Selenium 라이브러리를 사용해 크롬 브라우저를 실행할 때 

내 정보를 그대로 유지한 채로 브라우저를 띄우는 방법을 알아보겠습니다.

환경은 윈도우 11 환경입니다.

 

 크롬 브라우저 사용자 프로필이 저장된 폴더

 

윈도우에서 크롬 브라우저의 사용자 프로필이 저장된 폴더는 아래와 같습니다.

C:\Users\<사용자명>\AppData\Local\Google\Chrome\User Data

 

별도로 변경을 하지 않았다면,

위 폴더에 저장이 되어 있습니다.

 

반응형

 크롬 브라우저 사용자 프로필이 저장된 폴더 경로 가져오기

 

먼저 Python 코드에 

위 경로를 직접 적어도 괜찮지만,

사용자명은 컴퓨터마다 다를 수 있으므로, 

환경 변수를 사용해 공통되는 부분을 가져오면 됩니다.

※ 환경변수(environment variable)에 대한 정리

 

환경변수 LOCALAPPDATA의 값은 다음과 같습니다.

C:\Users\<사용자명>\AppData\Local

이 뒤에 \Google\Chrome\User Data 이 경로만 추가해 주면 됩니다.

 

아래 코드를 실행하면 크롬의 사용자 프로필이 저장된 폴더의 경로를 가지고 올 수 있습니다.

import os

chrome_profile_path = os.path.join(os.getenv('LOCALAPPDATA'), 'Google', 'Chrome', 'User Data', 'Default')

print(chrome_profile_path)

 

os.getenv()환경변수의 값을 가지고 올 수 있습니다.

os.path.join()을 사용하면 경로를 결합할 수 있고, \ 는 자동으로 추가가 됩니다.

 

728x90

 Selenium 옵션 설정 후 실행하기

 

이제 Selenium에서 옵션에

사용자 프로필이 저장된 폴더의 경로를 추가하면 됩니다.

chrome_options = Options()
chrome_options.add_argument(f"user-data-dir={chrome_profile_path}")

 

전체 코드는 다음과 같습니다.

import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_profile_path = os.path.join(os.getenv('LOCALAPPDATA'), 'Google', 'Chrome', 'User Data')

chrome_options = Options()
chrome_options.add_argument(f"user-data-dir={chrome_profile_path}")

driver = webdriver.Chrome(options=chrome_options)

driver.get("https://www.youtube.com")

driver.quit()

 

이 코드를 실행하여 Selenium으로 크롬 브라우저를 실행하면

다음과 같이 유튜브 알고리즘에 따라 추천된 영상들도 나타나고 

로그인도 정상적으로 되어있습니다.

여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.

엑셀 공부하기
VBA 공부하기

728x90
반응형