Python Selenium을 사용하여 쿠키 가져오기

Fariba Laiq 2023년6월21일
  1. 필수 라이브러리 설치
  2. Python에서 Selenium을 사용하여 명명된 쿠키 가져오기
  3. Python에서 Selenium을 사용하여 모든 쿠키 가져오기
Python Selenium을 사용하여 쿠키 가져오기

Selenium은 웹 애플리케이션을 위한 유명한 테스트 프레임워크입니다. 웹 브라우저를 제어하고 특정 작업을 수행하는 스크립트를 작성합니다.

이 기사에서는 Linux에서 Selenium을 설정하고 쿠키를 가져오고 HTTP 요청에서 형식을 지정하는 단계별 절차를 살펴봅니다.

필수 라이브러리 설치

Selenium의 플로팅을 사용하려면 먼저 ChromeDriver를 사용하여 Selenium 및 브라우저 드라이버를 설치해야 합니다. 선택한 터미널에서 아래 명령을 실행하여 쉽게 달성할 수 있습니다.

ChromeDriver 설치

ChromeDriver는 Selenium WebDriver가 Chrome과 상호 작용하는 데 사용하는 또 다른 실행 파일입니다. Chrome 웹 브라우저에서 작업을 자동화하려면 ChromeDriver도 설치해야 합니다.

Chrome 브라우저 버전에 따라 호환되는 드라이버를 선택해야 합니다. 다음은 ChromeDriver를 설치하고 구성하는 단계입니다.

  • 링크를 클릭하세요. Chrome 브라우저 버전 및 운영 체제 유형에 따라 ChromeDriver를 다운로드합니다.
  • Chrome 브라우저의 버전을 찾으려면 Chrome 오른쪽 상단에 있는 세 개의 점을 클릭하고 도움말을 클릭한 다음 About Google Chrome을 선택하십시오. 정보 섹션에서 Chrome 버전을 확인할 수 있습니다.
  • zip 파일을 추출하고 Chrome 드라이버를 실행합니다.

셀레늄 설치

Selenium을 설치하려면 다음 명령을 사용합니다.

pip install selenium

올바른 Python 버전으로 작업하는지 확인하는 것도 중요합니다. 이 문서에서는 3.10.4 버전을 사용하고 있습니다.

터미널에서 다음 명령을 실행하여 현재 설치된 Python 버전을 확인할 수 있습니다.

python --version

이제 모든 준비가 끝났습니다!

Python에서 Selenium을 사용하여 명명된 쿠키 가져오기

다음 코드에서 필요한 라이브러리를 가져오고 Chrome 드라이버의 경로를 지정했습니다. 이 코드를 사용할 때 그에 따라 경로를 변경해야 합니다.

그런 다음 URL(이 경우 http://www.google.com)로 이동하여 현재 브라우저 컨텍스트에 대해 정의된 이름과 값을 사용하여 쿠키를 추가했습니다. 쿠키를 얻기 위해 get_cookie() 메서드를 사용하고 쿠키 이름을 인수로 전달하여 값을 가져왔습니다.

예제 코드:

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

driver = webdriver.Chrome(r"E:\chromedriver_win32\chromedriver.exe")
driver.get("http://www.google.com")
driver.add_cookie({"name": "my_cookie", "value": "delftstack"})
print(driver.get_cookie("my_cookie"))

출력:

{'domain': 'www.google.com', 'httpOnly': False, 'name': 'my_cookie', 'path': '/', 'secure': True, 'value': 'delftstack'}

Python에서 Selenium을 사용하여 모든 쿠키 가져오기

인수를 지정하지 않고 모든 쿠키를 가져오기 위해 get_cookies() 메서드를 사용했습니다. 이 경우 현재 검색 컨텍스트에 대해 직렬화된 쿠키 데이터를 반환합니다.

그러나 브라우저를 더 이상 사용할 수 없으면 오류를 반환합니다.

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

driver = webdriver.Chrome(r"E:\chromedriver_win32\chromedriver.exe")
driver.get("http://www.google.com")
driver.add_cookie({"name": "cookie1", "value": "delftstack1"})
driver.add_cookie({"name": "cookie2", "value": "delftstack2"})
print(driver.get_cookies())

출력:

[{'domain': 'www.google.com', 'httpOnly': False, 'name': 'cookie2', 'path': '/', 'secure': True, 'value': 'delftstack2'}, {'domain': 'www.google.com', 'httpOnly': False, 'name': 'cookie1', 'path': '/', 'secure': True, 'value': 'delftstack1'}, {'domain': '.google.com', 'expiry': 1683449080, 'httpOnly': True, 'name': 'NID', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '511=jG4Loar3RnUPlWlCqLgy0_91KhWEVmdnIfcppZaWR_KThFAtcD8JMCOYG_Yf1TrevFkG5Y9WOpfx9HV6MFamlRvchElWP46TiH-DCCf_bnto4-HOGTZpDN5cSCRI2NHZahNbhgPu4oMDM2My4MK3kQc7y_7N8ShOIAqDe0j_irs'}, {'domain': '.google.com', 'expiry': 1683189877, 'httpOnly': True, 'name': 'AEC', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': 'AakniGPzQVs6uZH9iaixodFHhyrFSOk2Ji7p3ATkJSmOOlngCml58E6Khg'}, {'domain': '.google.com', 'expiry': 1670229880, 'httpOnly': False, 'name': '1P_JAR', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '2022-11-05-08'}]
작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn