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()을 사용하면 경로를 결합할 수 있고, \ 는 자동으로 추가가 됩니다.
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으로 크롬 브라우저를 실행하면
다음과 같이 유튜브 알고리즘에 따라 추천된 영상들도 나타나고
로그인도 정상적으로 되어있습니다.
여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ PANDAS ] 판다스(PANDAS) read_excel() 함수 총괄 정리 (0) | 2024.11.12 |
---|---|
[ Tkinter, ttk, CustomTkinter ] 각 라이브러리 위젯 비교 및 지원 여부 (1) | 2024.11.10 |
[ Selenium ] CSS Selector(CSS 셀렉터)를 사용하여 웹 페이지 요소 찾기 (0) | 2024.11.05 |
[ CustomTkinter ] CustomTkinter 새 창 띄우기, 새로운 창 열기, 새 창 만들기 (0) | 2024.11.01 |
[ openpyxl ] 엑셀 파일 불러오기, load_workbook() 함수 (0) | 2024.10.30 |