반응형
Selenium WebDriver로 쿠키 추가하기: 실전 예제
웹 자동화 작업을 할 때, 로그인 상태를 유지하거나 사용자 세션을 관리하는 데 쿠키는 필수적입니다. Selenium WebDriver의 add_cookie 메소드를 사용하여 특정 웹사이트에 쿠키를 추가할 수 있습니다. 이 포스팅에서는 add_cookie 함수를 사용해 쿠키를 추가하는 방법을 심도 깊게 살펴보겠습니다.
add_cookie 메소드 소개
쿠키 추가는 브라우저에서 사용자 세션을 유지하고 특정 페이지에 대한 접근 권한을 조절하는 데 매우 유용합니다. add_cookie 메소드를 사용하면 브라우저에 세션 쿠키를 추가하여 사용자의 행동을 자동화할 수 있습니다.
함수 시그니처
webdriver.add_cookie(cookie_dict)
매개변수:
- cookie_dict: 추가할 쿠키의 속성을 담고 있는 딕셔너리입니다. 필수 속성은 'name'과 'value'입니다.
반환 값:
- 리턴 값이 없으며, 브라우저의 쿠키 저장소에 지정된 쿠키가 추가됩니다.
사용 예제
기본 예제
다음은 웹사이트에 쿠키를 추가하여 세션을 관리하는 예제입니다. 이 예제에서는 쿠키를 추가한 후 페이지를 새로 고침하여 쿠키가 실제로 추가되었는지 확인합니다.
from selenium import webdriver
# 웹드라이버 초기화 (ex: Chrome)
driver = webdriver.Chrome()
# 특정 웹페이지 열기
driver.get('https://example.com')
# 쿠키 추가
cookie = {'name': 'my_cookie', 'value': 'cookie_value'}
driver.add_cookie(cookie)
# 쿠키가 추가되었는지 확인하기 위해 페이지 새로 고침
driver.refresh()
# 현재 쿠키 확인
cookies = driver.get_cookies()
print(cookies)
# 출력:
# [{'name': 'my_cookie', 'value': 'cookie_value', ... }]
로그인 세션 유지하기
특정 웹사이트에 로그인한 후, 해당 로그인 세션 쿠키를 저장하고 새로고침 이후에 복원하는 방법입니다.
from selenium import webdriver
import time
# 웹드라이버 초기화 (ex: Chrome)
driver = webdriver.Chrome()
# 로그인 페이지 열기
driver.get('https://example.com/login')
# 로그인 과정 (생략)
# 로그인 후 쿠키를 저장
login_cookies = driver.get_cookies()
print("로그인 후 쿠키:", login_cookies)
# 브라우저 종료 및 재시작
driver.quit()
driver = webdriver.Chrome()
# 다시 웹페이지 열기
driver.get('https://example.com')
# 로그인 쿠키 추가
for cookie in login_cookies:
driver.add_cookie(cookie)
# 쿠키를 추가한 후 페이지 새로 고침
driver.refresh()
# 페이지 제목 출력 (로그인 상태 확인)
print(driver.title)
결론
Selenium의 add_cookie 메소드를 활용하면 쿠키를 쉽게 추가하여 웹 자동화 작업을 효율적으로 수행할 수 있습니다. 이러한 기능을 통해 웹사이트의 다양한 세션 관리가 가능해져, 특히 로그인 상태를 유지하거나 사용자의 행동을 더욱 원활하게 만들어줍니다.
- add_cookie를 활용하여 세션 관리를 간편하게 처리해 보세요!
- 지금 바로 이 예제를 통해 Selenium을 활용한 쿠키 관리의 재미와 유용성을 느껴보세요!
반응형
'Python > Selenium' 카테고리의 다른 글
selenium.webdriver.close로 특정 탭 종료하기 (0) | 2025.01.18 |
---|---|
selenium.webdriver.back으로 이전 페이지로 돌아가기 (0) | 2025.01.18 |
Selenium No alert open 오류 해결하기 (0) | 2025.01.17 |
Selenium Move target out of bounds 오류 해결하기 (0) | 2025.01.17 |
Selenium JavaScript error message: "element is not clickable" 해결하기 (0) | 2025.01.17 |