---
title: "Guia do agente de usuário do Selenium: configuração e alteração"
slug: selenium-user-agent
date: 2024-06-09T06:45:58+00:00
modified: 2025-11-04T08:55:25+00:00
permalink: https://brightdata.com.br/blog/dados-do-site/selenium-user-agent
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [Dados do site](https://brightdata.com.br/blog/dados-do-site)







 [Dados do site](https://brightdata.com.br/blog/dados-do-site)

# Guia do agente de usuário do Selenium: configuração e alteração

Aprenda a definir e rotacionar o cabeçalho User-Agent no Selenium para aprimorar seus recursos de web scraping e ignorar as medidas anti-bot.

 12 min de leitura





 [ ![Antonello Zanini](https://media.brightdata.com.br/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.com.br/2024/06/Selenium-User-Agent-Guide_-Setting-and-Changing.svg)





Neste tutorial, você aprenderá:

- Por que o cabeçalho `User-Agent` é tão importante
- O valor padrão do agente de usuário Selenium em navegadores com cabeçalho e sem cabeçalho
- Como alterar o agente do usuário no Selenium
- Como implementar a rotação do agente de usuário no Selenium

Vamos nos aprofundar!

## Por que o cabeçalho agente do usuário é importante?

O cabeçalho [`User-Agent`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) é uma string que identifica o software cliente que está fazendo a solicitação HTTP. Geralmente, inclui informações sobre o tipo de navegador ou aplicativo, sistema operacional e arquitetura de onde a solicitação vem. Isso geralmente é definido por navegadores, clientes HTTP ou qualquer outro aplicativo que executa solicitações da web.

Por exemplo, abaixo está o agente de usuário definido pelo Chrome no momento em que este artigo foi escrito:

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

Os componentes dessa string de agente de usuário são:

- `Mozilla/5.0:` historicamente usado para indicar compatibilidade com os navegadores Mozilla. Agora representa um prefixo adicionado por motivos de compatibilidade.
- `Windows NT 10.0; Win64; x64`: sistema operacional (Windows NT 10.0), plataforma (Win64) e arquitetura (x64).
- `AppleWebkit/537.36`: mecanismo de navegação no qual o Chrome confia.
- `KHTML, como o Gecko`: compatibilidade com o mecanismo KHTML e o mecanismo de layout Gecko usados pela Mozilla.
- `Chrome/125.0.0.0`: nome e versão do navegador.
- `Safari/537.36`: compatibilidade com Safari.

Simplificando, o agente de usuário identifica se a solicitação vem de um navegador conhecido ou de outro tipo de software.

[Os bots de raspagem](/blog/procedimentos/what-is-a-scraping-bot) e os scripts de automação do navegador tendem a usar strings de agente de usuário padrão ou inconsistentes. Eles revelam sua natureza automatizada aos olhos das soluções anti-scraping, que protegem os dados da página da web monitorando as solicitações recebidas. Ao examinar o cabeçalho `User-Agent`, eles podem determinar se o usuário atual é legítimo ou um bot.

Para obter mais informações, leia nosso guia sobre [agentes de usuário para web scraping](https://brightdata.com.br/blog/procedimentos/user-agents-for-web-scraping-101).

## Qual é o agente de usuário padrão do Selenium?

O cabeçalho `User-Agent` definido pelo Selenium ao fazer a solicitação HTTP GET para recuperar uma página da web depende do navegador sob controle e se ele está no modo com ou sem interface.

**Nota**: neste artigo, usaremos o Selenium em Python e o configuraremos para operar no Chrome. No entanto, você pode facilmente estender o que aprenderá aqui para diferentes linguagens de programação e navegadores.

Para ver a string do agente de usuário Selenium, crie um script básico de automação de navegador que visite a página [httpbin.io](https://httpbin.io/) `/user-agent`. Isso nada mais é do que uma API que retorna o cabeçalho `User-Agent` da solicitação recebida.

Importe `selenium`, inicialize uma instância do Chrome, visite a página desejada e gere seu conteúdo:

```none
from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

# enable headless mode in Selenium

options = Options()

# options.add_argument('--headless')

# initialize a Chrome instance

driver = webdriver.Chrome(

    options=options,

)

# visit the desired page

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

# get the page content

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

# print the page content

print(user_agent_info)

# close the browser

driver.quit()
```

Inicie o script Python acima e ele fará o login no terminal da seguinte forma:

```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"

}
```

O valor corresponde ao cabeçalho `User-Agent` definido pelo Chrome no momento da escrita. Isso não deve surpreender você, pois o Selenium opera em uma janela real do navegador.

Ao mesmo tempo, o Selenium normalmente é configurado para controlar instâncias de navegador sem interface. O motivo é que carregar a interface de usuário de um navegador exige muitos recursos e não traz nenhum benefício na produção. Então, descomente a opção `--headless` para executar o script no modo headless. Desta vez, o 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 você pode ver, `Chrome/125.0.0.0` foi substituído por `HeadlessChrome/125.0.6422.142`. Esse valor identifica claramente a solicitação como proveniente de uma ferramenta de automação de navegador, já que nenhum usuário humano jamais usaria um navegador sem interface. A consequência é que [sistemas anti-bot](https://brightdata.com.br/webinar/bot-detection) podem marcar tal solicitação como proveniente de um bot e bloqueá-la. É por isso que é tão crucial definir o valor do agente de usuário Selenium!

Descubra mais informações no nosso guia [web scraping com Selenium](https://brightdata.com.br/blog/procedimentos/using-selenium-for-web-scraping).

## Como alterar o agente de usuário no Selenium

O Selenium oferece duas maneiras de definir o valor do agente de usuário. Vamos nos aprofundar nos dois!

**Defina o agente de usuário globalmente**

Entre as opções suportadas pelo Chrome, há também o sinalizador `--user-agent`. Isso permite que você especifique o agente de usuário global que o processo do Chrome deve usar ao visitar páginas da web em suas guias ou janelas.

Defina um agente de usuário global no Selenium com Python conforme abaixo:

```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()

# set a custom user agent in the browser option

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

# other options...

# initialize a Chrome instance with a custom user agent

driver = webdriver.Chrome(

    options=options,

)
```

Junte tudo e verifique se funciona com o seguinte 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()

# set a custom user agent in the browser option

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

# enable headless mode

options.add_argument('--headless')

# initialize a headless Chrome instance with a custom user agent

driver = webdriver.Chrome(

    options=options,

)

# visit the desired page

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

# get the page content

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

# print the page content

print(user_agent_info)

# close the browser

driver.quit()
```

Agora, inicie o script e ele gerará:

```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"

}
```

Isso corresponde ao agente de usuário especificado na string `custom_user_agent`. Em particular, o navegador controlado pelo Selenium agora expõe o valor do agente de usuário de um navegador direcionado, mesmo que esteja no modo sem interface. Esse truque deve ser suficiente para enganar soluções anti-bot menos complexas.

A principal desvantagem dessa abordagem é que você só pode definir o sinalizador `--user-agent` uma vez, durante a configuração da instância do navegador. Uma vez especificado, o agente de usuário personalizado será usado em toda a sessão de navegação, sem a possibilidade de alterá-lo rapidamente antes de uma chamada `get()`.

**Defina o agente de usuário localmente**

Os [comandos do Chrome Devtools Protocol](https://chromedevtools.github.io/devtools-protocol/) (CDP) permitem que você se comunique com um navegador Chrome em execução. Em particular, eles oferecem a capacidade de alterar dinamicamente os valores padrão e as configurações definidas pelo navegador.

Você pode executar um comando CDP no Selenium usando o método [execute\_cdp\_cmd()](https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setUserAgentOverride) exposto pelo objeto `driver`. Especificamente, o comando CDP [`Network.setUserAgentOverride`](https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setUserAgentOverride) substitui o agente do usuário pela string fornecida. Use-o para alterar localmente o agente de usuário no Selenium conforme abaixo:

```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})
```

Verifique se essa abordagem permite que você atualize o agente de usuário várias vezes na mesma sessão de navegação com a seguinte lógica:

```none
from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from selenium.webdriver.common.by import By

options = Options()

# enable headless mode

options.add_argument('--headless')

# initialize a headless Chrome instance

driver = webdriver.Chrome(

    options=options,

)

# configure a custom user agent

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})

# visit the desired page

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

# get the page content and print it

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

print(user_agent_info)

# set another user agent

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})

# reload the page

driver.refresh()

# print the page content

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

print(user_agent_info)

# close the browser

driver.quit()
```

Inicie o script acima e ele produzirá:

```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"

}
```

Formidável! Duas sequências de caracteres diferentes do agente de usuário Selenium na mesma sessão de navegação.

## Implemente a rotação do agente de usuário no Selenium

Definir um cabeçalho `User-Agent` com interface pode não ser suficiente para superar os anti-bots. O problema é que muitas solicitações vindas do mesmo endereço IP e com os mesmos cabeçalhos provavelmente revelarão a natureza automatizada do seu script Selenium.

A chave para evitar a detecção de bots é randomizar suas solicitações, por exemplo, implementando [rotação de agentes de usuário](https://brightdata.com.br/blog/procedimentos/user-agents-for-web-scraping-101). A ideia por trás dessa abordagem é escolher aleatoriamente um agente de usuário antes de navegar para uma página no Selenium. Dessa forma, suas solicitações automatizadas aparecerão como provenientes de navegadores diferentes, reduzindo o risco de acionar bloqueios e banimentos.

Agora, siga as etapas abaixo e saiba como implementar a rotação do agente de usuário no Selenium!

**Etapa #1: recuperar uma lista de agentes de usuário**

Obtenha alguns agentes de usuário adequados de um portal como [User Agent String.com](https://useragentstring.com/pages/useragentstring.php) e armazene-os em um array Python da seguinte forma:

```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, like Gecko) Version/17.4.1 Safari/605.1.15"

    # other user agents...

]
```

**Etapa #2: extrair um agente de usuário aleatório**

Defina uma função personalizada para definir o agente de usuário aleatório no objeto do driver web Selenium:

```none
def set_user_agent(driver):

    # set the user agent...
```

Importe o pacote `random` da [Python Standard Library](https://docs.python.org/3/library/index.html) para se preparar para escolher aleatoriamente um agente de usuário da lista `user_agents`:

```none
`import random`
```

Use a função [`random.choice()`](https://docs.python.org/3/library/random.html#random.choice) para extrair aleatoriamente uma string de agente de usuário do array:

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

Em seguida, atribua-o à janela do Chrome com a função `execute_cdp_cmd()`:

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

Sua função `set_user_agent()` agora conterá:

```none
def set_user_agent(driver):

    # randmoly pick a user agent string from the list

    random_user_agent = random.choice(user_agents)

    # set the user agent in the driver

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

**Etapa #3: definir o agente de usuário aleatório**

Antes de navegar para uma página com `get()`, chame a função `set_user_agent()` para alterar o agente de usuário Selenium:

```none
# set a custom user agent

set_user_agent(driver)

# visit the desired page

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

**Step #4: juntar tudo**

Esta é a aparência do seu script de rotação do agente de usuário do 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):

    # randmoly pick a user agent string from the list

    random_user_agent = random.choice(user_agents)

    # set the user agent in the driver

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

options = Options()

# enable headless mode

options.add_argument('--headless')

# initialize a headless Chrome instance

driver = webdriver.Chrome(

    options=options,

)

# set a custom user agent

set_user_agent(driver)

# visit the desired page

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

# get the page content and print it

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

print(user_agent_info)

# close the browser

driver.quit()
```

Execute esse script algumas vezes e observe que ele gerará diferentes strings do agente de usuário.

E pronto! Agora você é mestre em mudar o agente de usuário no Selenium.

## Conclusão

Neste guia, você aprendeu a importância do cabeçalho `User-Agent` e como substituí-lo no Selenium. Essa técnica permite que você engane os sistemas anti-bot básicos, fazendo-os pensar que suas solicitações vêm de um navegador legítimo e com interface. No entanto, soluções avançadas ainda podem detectar e bloquear você. Para evitar banimento de IP, você poderia [usar um proxy com Selenium](https://brightdata.com.br/integration/selenium), mas mesmo isso pode não ser suficiente!

Evite esses problemas com o [Scraping Browser](https://brightdata.com.br/products/scraping-browser), um navegador de última geração que se integra ao Selenium e a qualquer outra ferramenta de automação de navegador. O Scraping Browser pode facilmente ignorar as tecnologias anti-bot para você, evitando a impressão digital do navegador. Nos bastidores, ele se baseia em recursos como rotação do agente de usuário, [rotação de IP](https://brightdata.com.br/solutions/rotating-proxies)e [resolução de CAPTCHA](https://brightdata.com.br/products/web-unlocker/captcha-solver). A automação do navegador nunca foi tão fácil!



Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Guia+do+agente+de+usu%C3%A1rio+do+Selenium%3A+configura%C3%A7%C3%A3o+e+altera%C3%A7%C3%A3o&u=https://brightdata.com.br/blog/dados-do-site/selenium-user-agent) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Guia+do+agente+de+usu%C3%A1rio+do+Selenium%3A+configura%C3%A7%C3%A3o+e+altera%C3%A7%C3%A3o&url=https://brightdata.com.br/blog/dados-do-site/selenium-user-agent) [ ](http://www.reddit.com/submit?title=Guia+do+agente+de+usu%C3%A1rio+do+Selenium%3A+configura%C3%A7%C3%A3o+e+altera%C3%A7%C3%A3o&url=https://brightdata.com.br/blog/dados-do-site/selenium-user-agent)







##  Você também pode estar interessado em

 [ ![cURL User Agent Guide blog image](https://media.brightdata.com.br/2024/05/cURL-User-Agent-Guide.svg) ](https://brightdata.com.br/blog/dados-do-site/curl-user-agent "Guia do agente de usuário cURL: configuração e alteração")

 [Dados do site



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

Antonello Zanini

Technical Writer





### Guia do agente de usuário cURL: configuração e alteração

Aprenda a definir e alterar o cabeçalho User-Agent no cURL para melhorar seus esforços de Scraping de dados.



 22-Feb-2026

 11 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/curl-user-agent)

 [ ![Requests User Agent Guide blog image](https://media.brightdata.com.br/2024/06/Requests-User-Agent-Guide_-Setting-and-Changing.svg) ](https://brightdata.com.br/blog/dados-do-site/requests-user-agent "Guia do agente de usuário do Python Requests: configuração e alteração")

 [Dados do site



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

Antonello Zanini

Technical Writer





### Guia do agente de usuário do Python Requests: configuração e alteração

Pare de ser bloqueado por sistemas anti-bot! Este tutorial ensina você a definir e alternar o cabeçalho User-Agent nas em Python Requests para uma extração segura e bem-sucedida de dados da web.



 04-Jun-2024

 10 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/requests-user-agent)

 [ ![HTTP Headers for Web Scraping](https://media.brightdata.com.br/2024/03/HTTP-Headers-for-Web-Scraping.svg) ](https://brightdata.com.br/blog/dados-do-site/http-headers-for-web-scraping "Cabeçalhos HTTP para extração de dados da web")

 [Dados do site





Fortune Adekogbe





### Cabeçalhos HTTP para extração de dados da web

Aprenda sobre os cabeçalhos HTTP mais comuns, por que eles são importantes para a extração de dados da web e como otimizá-los.



 17-Mar-2024

 13 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/http-headers-for-web-scraping)
