---
title: "Guía del agente de usuario de Selenium: configuración y cambios"
slug: selenium-user-agent
date: 2026-02-22T07:24:58+00:00
modified: 2026-02-22T07:25:00+00:00
permalink: https://brightdata.es/blog/datos-web/selenium-user-agent
type: blog
---

[ Blog ](https://brightdata.es/blog "Blog") / [Datos web](https://brightdata.es/blog/datos-web)







 [Datos web](https://brightdata.es/blog/datos-web)

# Guía del agente de usuario de Selenium: configuración y cambios

Aprenda a configurar y rotar el encabezado User-Agent en Selenium para mejorar sus capacidades de Scraping web y eludir las medidas anti-bot.

 13 min de lectura





 [ ![Antonello Zanini](https://media.brightdata.es/2022/12/Antonello-Zanini-2-50x50.jpg) ](https://brightdata.com/blog/authors/antonello-zanini)

 [Antonello Zanini

Technical Writer

 ](https://brightdata.com/blog/authors/antonello-zanini)





 ![Selenium User Agent Guide Setting and Changing](https://media.brightdata.es/2024/06/Selenium-User-Agent-Guide_-Setting-and-Changing.svg)





En este tutorial aprenderás:

- Por qué es tan importante el encabezado `User-Agent`
- El valor predeterminado del agente de usuario de Selenium en navegadores con y sin interfaz gráfica
- Cómo cambiar el agente de usuario en Selenium
- Cómo implementar la rotación del agente de usuario en Selenium

¡Empecemos!

## ¿Por qué es importante el encabezado User Agent?

El encabezado [`del agente de usuario`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) es una cadena que identifica el software cliente que realiza la solicitud HTTP. Por lo general, incluye información sobre el tipo de navegador o aplicación, el sistema operativo y la arquitectura desde la que se realiza la solicitud. Por lo general, lo establecen los navegadores, los clientes HTTP o cualquier otra aplicación que realice solicitudes web.

Por ejemplo, a continuación se muestra el agente de usuario establecido por Chrome en el momento de escribir este artículo:

```none
`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/125.0.0.0 Safari/537.36`
```

Los componentes de esta cadena de agente de usuario son:

- `Mozilla/5.0`: Se utilizaba históricamente para indicar la compatibilidad con los navegadores Mozilla. Ahora representa un prefijo añadido por motivos de compatibilidad.
- `Windows NT 10.0; Win64; x64`: sistema operativo (Windows NT 10.0), plataforma (Win64) y arquitectura (x64).
- `AppleWebKit/537.36`: motor del navegador en el que se basa Chrome.
- `KHTML, como Gecko`: compatibilidad con el motor KHTML y el motor de diseño Gecko utilizados por Mozilla.
- `Chrome/125.0.0.0`: nombre y versión del navegador.
- `Safari/537.36`: Compatibilidad con Safari.

En pocas palabras, el agente de usuario identifica si la solicitud proviene de un navegador conocido o de otro tipo de software.

[Los bots de scraping](/blog/how-tos/what-is-a-scraping-bot) y los scripts de automatización de navegadores tienden a utilizar cadenas de agente de usuario predeterminadas o inconsistentes. Estas revelan su naturaleza automatizada a los ojos de las soluciones antiscraping, que protegen los datos de las páginas web mediante la supervisión de las solicitudes entrantes. Al examinar el encabezado `User-Agent`, pueden determinar si el usuario actual es legítimo o un bot.

Para obtener más detalles, lea nuestra guía sobre [agentes de usuario para el Scraping web](/blog/how-tos/user-agents-for-web-scraping-101).

## ¿Cuál es el agente de usuario predeterminado de Selenium?

El encabezado `User-Agent` establecido por Selenium al realizar la solicitud HTTP GET para recuperar una página web depende del navegador controlado y de si se encuentra en modo con encabezado o sin encabezado.

**Nota**: En este artículo, utilizaremos Selenium en Python y lo configuraremos para que funcione en Chrome. Sin embargo, puede ampliar fácilmente lo que aprenderá aquí a diferentes lenguajes de programación y navegadores.

Para ver la cadena del agente de usuario de Selenium, cree un script básico de automatización del navegador que visite la página [httpbin.](https://httpbin.io/) `io/user-agent`. No es más que una API que devuelve el encabezado `User-Agent` de la solicitud entrante.

Importa `selenium`, inicializa una instancia de Chrome, visita la página deseada e imprime su contenido:

```none
from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

# habilitar el modo sin interfaz gráfica en Selenium

options = Options()

# options.add_argument('--headless')

# inicializar una instancia de Chrome

driver = webdriver.Chrome(

    options=options,

)

# visitar la página deseada

driver.get("https://httpbin.org/user-agent")

# obtener el contenido de la página

user_agent_info = driver.find_element(By.TAG_NAME, "body").text

# imprimir el contenido de la página

print(user_agent_info)

# cerrar el navegador

driver.quit()
```

Ejecute el script Python anterior y se registrará en la terminal algo similar a:

```none
{

  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

}
```

El valor corresponde al encabezado `User-Agent` establecido por Chrome en el momento de escribir este artículo. Esto no debería sorprenderle, ya que Selenium funciona en una ventana de navegador real.

Al mismo tiempo, Selenium suele estar configurado para controlar instancias de navegador sin interfaz gráfica. El motivo es que cargar la interfaz de usuario de un navegador consume muchos recursos y no aporta ninguna ventaja en la producción. Por lo tanto, descomente la opción `--headless` para ejecutar el script en modo sin interfaz gráfica. En esta ocasión, el resultado será:

```none
{

  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/125.0.6422.142 Safari/537.36"

}
```

Como puede ver, `Chrome/125.0.0.0` ha sido sustituido por `HeadlessChrome/125.0.6422.142.` Este valor identifica claramente la solicitud como procedente de una herramienta de automatización del navegador, ya que ningún usuario humano utilizaría nunca un navegador sin interfaz gráfica. La consecuencia es que [los sistemas antibots](/webinar/bot-detection) pueden marcar dicha solicitud como procedente de un bot y bloquearla. ¡Por eso es tan importante establecer el valor del agente de usuario Selenium!

Encuentre más información en nuestra guía sobre [el Scraping web con Selenium](/blog/how-tos/using-selenium-for-web-scraping).

## Cómo cambiar el agente de usuario en Selenium

Selenium ofrece dos formas de establecer el valor del agente de usuario. ¡Veámoslas ambas!

**Establecer el agente de usuario de forma global**

Entre las opciones compatibles con Chrome, también se encuentra el indicador `--user-agent`. Este le permite especificar el agente de usuario global que debe utilizar el proceso de Chrome al visitar páginas web en sus pestañas o ventanas.

Configure un agente de usuario global en Selenium con Python como se indica a continuación:

```none
custom_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

options = Options()

# establecer un agente de usuario personalizado en la opción del navegador

options.add_argument(f'--user-agent={custom_user_agent}')

# otras opciones...

# inicializar una instancia de Chrome con un agente de usuario personalizado

driver = webdriver.Chrome(

    options=options,

)
```

Combínalo todo y comprueba que funciona con el siguiente script:

```none
from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

custom_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

options = Options()

# establecer un agente de usuario personalizado en la opción del navegador

options.add_argument(f'--user-agent={custom_user_agent}')

# habilitar el modo sin interfaz gráfica

options.add_argument('--headless')

# inicializar una instancia de Chrome sin interfaz gráfica con un agente de usuario personalizado

driver = webdriver.Chrome(

    options=options,

)

# visitar la página deseada

driver.get("https://httpbin.org/user-agent")

# obtener el contenido de la página

user_agent_info = driver.find_element(By.TAG_NAME, "body").text

# imprimir el contenido de la página

print(user_agent_info)

# cerrar el navegador

driver.quit()
```

Ahora, ejecute el script y se imprimirá:

```none
{

  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

}
```

Esto coincide con el agente de usuario especificado en la cadena `custom_user_agent`. En concreto, el navegador controlado a través de Selenium ahora expone el valor del agente de usuario de un navegador con encabezado, incluso si está en modo sin encabezado. Ese truco debería ser suficiente para engañar a las soluciones antibots menos complejas.

La principal desventaja de este enfoque es que solo se puede establecer el indicador `--user-agent` una vez, durante la configuración de la instancia del navegador. Una vez especificado, el agente de usuario personalizado se utilizará en toda la sesión de navegación, sin posibilidad de cambiarlo sobre la marcha antes de una llamada `get()`.

**Establecer el agente de usuario localmente**

Los comandos[del protocolo Chrome Devtools Protocol](https://chromedevtools.github.io/devtools-protocol/) (CDP) le permiten comunicarse con un navegador Chrome en ejecución. En concreto, le ofrecen la posibilidad de cambiar dinámicamente los valores predeterminados y las configuraciones establecidas por el navegador.

Puede ejecutar un comando CDP en Selenium utilizando el método [execute\_cdp\_cmd()](https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setUserAgentOverride) expuesto por el objeto `controlador`. En concreto, el comando CDP [`Network.setUserAgentOverride`](https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setUserAgentOverride) sustituye el agente de usuario por la cadena dada. Utilícelo para cambiar localmente el agente de usuario en Selenium como se indica a continuación:

```none
custom_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': custom_user_agent})
```

Comprueba que este enfoque te permite actualizar el agente de usuario varias veces dentro de la misma sesión de navegación con la siguiente lógica:

```none
from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

options = Options()

# habilitar el modo sin interfaz gráfica

options.add_argument('--headless')

# inicializar una instancia de Chrome sin interfaz gráfica

driver = webdriver.Chrome(

    options=options,

)

# configurar un agente de usuario personalizado

custom_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': custom_user_agent})

# visitar la página deseada

driver.get("https://httpbin.org/user-agent")

# obtener el contenido de la página e imprimirlo

user_agent_info = driver.find_element(By.TAG_NAME, "body").text

print(user_agent_info)

# establecer otro agente de usuario

custom_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0"

driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': custom_user_agent})

# recargar la página

driver.refresh()

# imprimir el contenido de la página

user_agent_info = driver.find_element(By.TAG_NAME, "body").text

print(user_agent_info)

# cerrar el navegador

driver.quit()
```

Ejecute el script anterior y obtendrá el siguiente resultado:

```none
{

  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

}

{

  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0"

}
```

¡Genial! Dos cadenas de agente de usuario Selenium diferentes en la misma sesión de navegación.

## Implementar la rotación de agentes de usuario en Selenium

Establecer un encabezado `de agente de usuario` no headless puede no ser suficiente para superar los antibots. El problema es que demasiadas solicitudes procedentes de la misma dirección IP y con los mismos encabezados pueden revelar la naturaleza automatizada de su script de Selenium.

La clave para evitar la detección de bots es aleatorizar sus solicitudes, por ejemplo, implementando [la rotación de agentes de usuario](/blog/how-tos/user-agents-for-web-scraping-101). La idea detrás de este enfoque es seleccionar aleatoriamente un agente de usuario antes de navegar a una página en Selenium. De esa manera, sus solicitudes automatizadas parecerán provenir de diferentes navegadores, lo que reduce el riesgo de activar bloqueos y prohibiciones.

Ahora, siga los pasos que se indican a continuación y aprenda a implementar la rotación de agentes de usuario en Selenium.

**Paso n.º 1: Recuperar una lista de agentes de usuario**

Obtenga algunos agentes de usuario adecuados de un portal como [User Agent String.com](https://useragentstring.com/pages/useragentstring.php) y guárdelos en una matriz de Python de la siguiente manera:

```none
user_agents = [

    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",

    "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.5; rv:126.0) Gecko/20100101 Firefox/126.0",

    «Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, como Gecko) Versión/17.4.1 Safari/605.1.15»

    # otros agentes de usuario...

]
```

**Paso n.º 2: extraer un agente de usuario aleatorio**

Defina una función personalizada para establecer el agente de usuario aleatorio en el objeto del controlador web Selenium:

```none
def set_user_agent(driver):

    # establecer el agente de usuario...
```

Importa el paquete `aleatorio` de la [biblioteca estándar de Python](https://docs.python.org/3/library/index.html) para prepararte para seleccionar aleatoriamente un agente de usuario de la lista `user_agents`:

```none
`import random`
```

Utilice la función [`random.choice()`](https://docs.python.org/3/library/random.html#random.choice) para extraer aleatoriamente una cadena de agente de usuario de la matriz:

```none
`random_user_agent = random.choice(user_agents)`
```

A continuación, asígnelo a la ventana de Chrome con la función `execute_cdp_cmd()`:

```none
`driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': random_user_agent})`
```

Tu función `set_user_agent()` ahora contendrá:

```none
def set_user_agent(driver):

    # selecciona aleatoriamente una cadena de agente de usuario de la lista

    random_user_agent = random.choice(user_agents)

    # establece el agente de usuario en el controlador

    driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': random_user_agent})
```

**Paso n.º 3: establecer el agente de usuario aleatorio**

Antes de navegar a una página con `get()`, llama a la función `set_user_agent()` para cambiar el agente de usuario de Selenium:

```none
# establecer un agente de usuario personalizado

set_user_agent(driver)

# visitar la página deseada

driver.get("https://httpbin.org/user-agent")
```

**Paso 4: Combinar todo**

Así es como se verá su script de rotación de agente de usuario de Python Selenium:

```none
from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

import random

user_agents = [

    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",

    "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.5; rv:126.0) Gecko/20100101 Firefox/126.0",

    "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15"

]

def set_user_agent(driver):

    # selecciona aleatoriamente una cadena de agente de usuario de la lista

    random_user_agent = random.choice(user_agents)

    # establece el agente de usuario en el controlador

    driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': random_user_agent})

options = Options()

# habilitar el modo sin interfaz gráfica

options.add_argument('--headless')

# inicializar una instancia de Chrome sin interfaz gráfica

driver = webdriver.Chrome(

    options=options,)

# establecer un agente de usuario personalizado

set_user_agent(driver)

# visitar la página deseada

driver.get("https://httpbin.org/user-agent")

# obtener el contenido de la página e imprimirlo

user_agent_info = driver.find_element(By.TAG_NAME, "body").text

print(user_agent_info)

# cerrar el navegador

driver.quit()
```

Ejecute este script varias veces y observe que imprimirá diferentes cadenas de agente de usuario.

¡Et voilà! Ahora ya es un experto en cambiar el agente de usuario en Selenium.

## Conclusión

En esta guía, ha aprendido la importancia del encabezado `User-Agent` y cómo anularlo en Selenium. Esta técnica le permite engañar a los sistemas antibots básicos para que piensen que sus solicitudes provienen de un navegador legítimo sin cabeza. Sin embargo, es posible que las soluciones avanzadas sigan siendo capaces de detectarle y bloquearle. Para evitar las prohibiciones de IP, podría [integrar un Proxy con Selenium](/integration/selenium), ¡pero incluso eso podría no ser suficiente!

Evita esos problemas con [el Navegador de scraping](/products/scraping-browser), un navegador de última generación que se integra con Selenium y cualquier otra herramienta de automatización de navegadores. El Navegador de scraping puede eludir sin esfuerzo las tecnologías antibots por ti, al tiempo que evita la huella digital del navegador. En segundo plano, se basa en funciones como la rotación del agente de usuario, [la rotación de IP](/solutions/rotating-proxies) y [la Resolución de CAPTCHA](/products/web-unlocker/captcha-solver). ¡La automatización del navegador nunca ha sido tan fácil!



Contactar ventasPrueba gratuita![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Tabla de Contenidos













 [ ](https://news.ycombinator.com/submitlink?t=Gu%C3%ADa+del+agente+de+usuario+de+Selenium%3A+configuraci%C3%B3n+y+cambios&u=https://brightdata.es/blog/datos-web/selenium-user-agent) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Gu%C3%ADa+del+agente+de+usuario+de+Selenium%3A+configuraci%C3%B3n+y+cambios&url=https://brightdata.es/blog/datos-web/selenium-user-agent) [ ](http://www.reddit.com/submit?title=Gu%C3%ADa+del+agente+de+usuario+de+Selenium%3A+configuraci%C3%B3n+y+cambios&url=https://brightdata.es/blog/datos-web/selenium-user-agent)







##  Usted también puede estar interesado en

 [ ![Requests User Agent Guide blog image](https://media.brightdata.es/2024/06/Requests-User-Agent-Guide_-Setting-and-Changing.svg) ](https://brightdata.es/blog/datos-web/requests-user-agent "Guía del agente de usuario de Python Requests: configuración y cambio")

 [Datos web



 ![Antonello Zanini](https://media.brightdata.es/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Guía del agente de usuario de Python Requests: configuración y cambio

¡Deja de ser bloqueado por los sistemas antibots! Este tutorial te enseña a configurar y rotar el encabezado User-Agent en Python Requests para un Scraping web seguro y exitoso.



 22-Feb-2026

 10 min de lectura

 ](https://brightdata.es/blog/datos-web/requests-user-agent)

 [ ![cURL User Agent Guide blog image](https://media.brightdata.es/2024/05/cURL-User-Agent-Guide.svg) ](https://brightdata.es/blog/datos-web/curl-user-agent "Guía del agente de usuario cURL: configuración y cambios")

 [Datos web



 ![Antonello Zanini](https://media.brightdata.es/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Guía del agente de usuario cURL: configuración y cambios

Aprenda a configurar y cambiar el encabezado User-Agent en cURL para mejorar sus esfuerzos de Scraping web.



 22-Feb-2026

 11 min de lectura

 ](https://brightdata.es/blog/datos-web/curl-user-agent)

 [ ![HTTP Headers for Web Scraping](https://media.brightdata.es/2024/03/HTTP-Headers-for-Web-Scraping.svg) ](https://brightdata.es/blog/datos-web/http-headers-for-web-scraping "Encabezados HTTP para el raspado web")

 [Datos web





Fortune Adekogbe





### Encabezados HTTP para el raspado web

Obtén información sobre los encabezados HTTP más comunes, por qué son importantes para el raspado web y cómo optimizarlos.



 17-Mar-2024

 12 min de lectura

 ](https://brightdata.es/blog/datos-web/http-headers-for-web-scraping)
