Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Selenium 웹드라이버에서 특정 도메인에 쿠키 설정하는 방법

개요

Selenium 웹드라이버와 Python을 활용하면 특정 도메인에 쿠키를 설정할 수 있습니다. 쿠키는 브라우저가 주고받는 정보를 저장하는 용도로 사용되며, 키-값(key-value) 쌍 형태로 구성됩니다. 쉽게 말해 서버가 브라우저에 전달하는 일종의 메시지라고 할 수 있습니다.

쿠키를 추가하려면 add_cookie 메서드를 사용합니다. 이때 쿠키의 키와 값이 매개변수로 전달됩니다. 현재 세션의 모든 쿠키를 조회할 때는 get_cookies 메서드를, 특정 쿠키 하나만 가져올 때는 get_cookie 메서드를 사용합니다.

저장된 쿠키를 모두 삭제할 때는 delete_all_cookies 메서드를 활용합니다.

문법(Syntax)

driver.add_cookie({"Automation": "QA"})
c = driver.get_cookies()
driver.get_cookie("Automation")
driver.delete_all_cookies()

예제 코드

from selenium import webdriver
# geckodriver.exe 경로 설정
driver = webdriver.Firefox(executable_path="C:\\geckodriver.exe")
driver.maximize_window()
# URL 접속
driver.get("https://www.tutorialspoint.com/index.htm")
# 쿠키 추가
c = {'name': "Automation", 'value': 'QA'}
driver.add_cookie(c)
# 전체 쿠키 개수 출력
print(len(driver.get_cookies()))
# 이름으로 특정 쿠키 조회
print(driver.get_cookie("Automation"))
# 쿠키 삭제
driver.delete_all_cookies()
# 삭제 후 쿠키 상태 확인
d = driver.get_cookies()
print("전체 삭제 후 쿠키 개수")
print(len(d))
# 브라우저 종료
driver.quit()

실행 결과

Python Selenium 웹드라이버에서 특정 도메인에 쿠키 설정하는 방법

주의 사항

쿠키를 추가하기 전에는 반드시 해당 도메인의 페이지에 먼저 접속해야 합니다. 브라우저가 아무 페이지도 열지 않은 상태에서 쿠키를 추가하면 오류가 발생할 수 있습니다. 또한 쿠키 객체는 namevalue 필드가 필수이며, 필요에 따라 path, domain, expiry(만료일) 등의 옵션을 함께 지정할 수 있습니다. 위 예제 코드는 Firefox 기준으로 작성되었으며, Chrome 브라우저를 사용하는 경우 webdriver.Chrome()으로 드라이버만 교체하면 동일하게 동작합니다.