Obtener una cookie usando Python Selenium
- Instalar bibliotecas de requisitos previos
- Obtenga cookies con nombre usando Selenium en Python
- Obtenga todas las cookies usando Selenium en Python
Selenium es un marco de prueba famoso para aplicaciones web. Escribimos scripts que toman el control del navegador web y realizan acciones específicas.
Este artículo pasará por un procedimiento paso a paso para configurar Selenium en Linux, obtener cookies y formatearlas en una solicitud HTTP.
Instalar bibliotecas de requisitos previos
Para usar el trazado de Selenium, primero debemos instalar Selenium y el controlador del navegador, usando ChromeDriver
. Podemos lograr esto fácilmente ejecutando el siguiente comando en la terminal de elección:
Instalar ChromeDriver
ChromeDriver
es otro ejecutable que Selenium WebDriver
usa para interactuar con Chrome. Para automatizar tareas en el navegador web Chrome, también necesitamos instalar ChromeDriver
.
Según la versión del navegador Chrome, debemos seleccionar un controlador compatible para él. Los siguientes son los pasos para instalar y configurar el ChromeDriver
:
-
Haga clic en este enlace. Descarga
ChromeDriver
según la versión de tu navegador Chrome y el tipo de sistema operativo. -
Si desea encontrar la versión de su navegador Chrome, haga clic en los tres puntos en la esquina superior derecha de Chrome, haga clic en
Ayuda
y seleccioneAcerca de Google Chrome
. Puedes ver la versión de Chrome en la secciónAcerca de
. -
Extraiga el archivo zip y ejecute el controlador de Chrome.
Instalar selenio
Para instalar Selenium, usamos el siguiente comando.
pip install selenium
También es importante asegurarse de que trabajamos con la versión correcta de Python. En este artículo, estamos usando la versión 3.10.4
.
Podemos verificar la versión de Python actualmente instalada ejecutando este comando en la terminal:
python --version
¡Y ahora estamos listos para comenzar!
Obtenga cookies con nombre usando Selenium en Python
Importamos las bibliotecas requeridas en el siguiente código y especificamos la ruta al controlador de Chrome. Asegúrese de cambiar la ruta en consecuencia cuando use este código.
Luego navegamos a la URL (http://www.google.com en nuestro caso) y agregamos la cookie con nuestro nombre y valor definidos para el contexto del navegador actual. Para obtener la cookie, usamos el método get_cookie()
y pasamos el nombre de la cookie como argumento para obtener su valor.
Código de ejemplo:
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"))
Producción :
{'domain': 'www.google.com', 'httpOnly': False, 'name': 'my_cookie', 'path': '/', 'secure': True, 'value': 'delftstack'}
Obtenga todas las cookies usando Selenium en Python
Usamos el método get_cookies()
para obtener todas las cookies sin especificar ningún argumento. En este caso, devuelve datos de cookies serializados para el contexto de navegación actual.
Sin embargo, devuelve un error si el navegador ya no está disponible.
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())
Producción :
[{'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