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'}]
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