Instalando drivers de navegadores

Configurando seu navegador para ficar preparado para ser automatizado.

Através do WebDriver, o Selenium suporta todos os principais navegadores do mercado como Chrome/Chromium, Firefox, Internet Explorer, Edge e Safari. Sempre que possível, o WebDriver conduz o navegador usando o suporte integrado do navegador para automação.

Como todas as implementações do driver, exceto a do Internet Explorer, são fornecidas pelos próprios desenvolvedores dos navegadores, elas não estão incluídas na distribuição padrão do Selenium. Esta seção explica os requisitos básicos para você começar a usar os diferentes navegadores.

Leia mais sobre opções avançadas para iniciar um driver na nossa documentação de configuração de driver.

Page being translated from English to Portuguese. Do you speak Portuguese? Help us to translate it by sending us pull requests!

Quatro maneiras diferentes de usar os drivers

1. Gerenciador Selenium (Beta)

Selenium v4.6

O Gerenciador Selenium te ajuda a ter um ambiente de desenvolvimento rodando Selenium mais facilmente. O primeiro Beta irá configurar os drivers para Chrome, Firefox e Edge se eles não forem encontrados no PATH. Nem uma configuração extra será necessária. Versões futuras do Gerenciador Selenium irão eventualmente poder realizar o download dos browsers se necessário.

Leia mais no anúncio feito no blog sobre o Gerenciador Selenium.

2. Software de gerenciamento de Driver

A maioria das máquinas atualiza automaticamente o navegador, mas não o driver. Para certificar de obter o driver correto para o seu navegador de internet, existem diversas bibliotecas de terceiros para auxiliá-lo.

Important: This package does not currently work for IEDriverServer v4+

  1. Importe o WebDriverManager
import io.github.bonigarcia.wdm.WebDriverManager;
  1. Invocar o setup():
        WebDriverManager.chromedriver().setup();

        WebDriver driver = new ChromeDriver();
  1. Importe o Gerenciador de WebDriver para Python
from webdriver_manager.chrome import ChromeDriverManager
  1. Use o install() para obter a localização usada pelo gerenciador WebDriver e passá-la para a classe de serviço
    service = ChromeService(executable_path=ChromeDriverManager().install())

    driver = webdriver.Chrome(service=service)
  1. Importe o Pacote Gerenciador do WebDriver
using WebDriverManager;
using WebDriverManager.DriverConfigs.Impl;
  1. Use o SetUpDriver() que requer uma classe de configuração:
            new DriverManager().SetUpDriver(new ChromeConfig());

            var driver = new ChromeDriver();
  1. Add webdrivers gem to Gemfile:
gem 'webdrivers', '~> 5.0'
  1. Requer webdrivers no seu projeto:
require 'webdrivers'
  1. Inicialize o seu driver como você normalmente faria:
driver = Selenium::WebDriver.for :chrome

Não há um gerenciador de driver recomendado para o JavaScript no momento

  1. Importe o Gerenciador de WebDriver
import io.github.bonigarcia.wdm.WebDriverManager;
  1. Invoque o método de configuração antes de inicializar o driver como faria normalmente:
        WebDriverManager.chromedriver().setup()
        val driver: WebDriver = ChromeDriver()

3. A variável de ambiente PATH

Esta opção requer primeiro o download manual do driver (Vejá a sessão de Consulta de referencia rápida para links).

Esta é uma opção flexível para alterar a localização dos drivers sem precisar atualizar seu código e funcionará em várias máquinas sem exigir que cada máquina coloque os drivers no mesmo lugar.

Você pode colocar os drivers em um diretório que já está listado em PATH, ou você pode colocá-los em um diretório e acrescenta-lo ao PATH.

Para ver quais diretórios já estão no PATH, abra o Terminal e execute:

echo $PATH

Se o local do seu driver ainda não estiver em um diretório listado, você pode adicionar um novo diretório ao PATH:

echo 'export PATH=$PATH:/path/to/driver' >> ~/.bash_profile
source ~/.bash_profile

Você pode testar se foi adicionado corretamente iniciando o driver:

chromedriver

Para ver quais diretórios já estão no PATH, abra o Terminal e execute:

echo $PATH

Se o local do seu driver ainda não estiver em um diretório listado, você pode adicionar um novo diretório ao PATH:

echo 'export PATH=$PATH:/path/to/driver' >> ~/.zshenv
source ~/.zshenv

Você pode testar se foi adicionado corretamente iniciando o driver:

chromedriver

Para ver quais diretórios já estão no PATH, abra o Prompt de Comando e execute:

echo %PATH%

Se o local do seu driver ainda não estiver em um diretório listado, você pode adicionar um novo diretório ao PATH:

setx PATH "%PATH%;C:\WebDriver\bin"

Você pode testar se foi adicionado corretamente iniciando o driver:

chromedriver.exe

Se o seu PATH estiver configurado corretamente como acima, você verá algumas saídas relacionadas à inicialização do driver:

Starting ChromeDriver 95.0.4638.54 (d31a821ec901f68d0d34ccdbaea45b4c86ce543e-refs/branch-heads/4638@{#871}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

Você pode recuperar o controle do seu prompt de comando pressionando Ctrl+C

4. Localização definida no código

Semelhante à opção 3 acima, você precisará baixar manualmente o driver (Vejá a sessão de Consulta de referencia rápida para links). Especificar a localização no próprio código tem a vantagem de você não precisar se preocupar em descobrir variáveis de ambiente no seu sistema, mas tem a desvantagem de tornar o código muito menos flexível.

System.setProperty("webdriver.chrome.driver","/path/to/chromedriver");
ChromeDriver driver = new ChromeDriver();
from selenium.webdriver.chrome.service import Service
from selenium import webdriver

service = Service(executable_path="/path/to/chromedriver")
driver = webdriver.Chrome(service=service)
var driver = new ChromeDriver(@"C:\WebDriver\bin");
service = Selenium::WebDriver::Service.chrome(path: '/path/to/chromedriver')
driver = Selenium::WebDriver.for :chrome, service: service
const {Builder} = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

const service = new chrome.ServiceBuilder('/path/to/chromedriver');
const driver = new Builder().forBrowser('chrome').setChromeService(service).build();
import org.openqa.selenium.chrome.ChromeDriver

fun main(args: Array<String>) {
    System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver")
    val driver = ChromeDriver()
}

Consulta rápida

Navegador OS Suportado Mantido por Download Rastreador de Problemas
Chromium/Chrome Windows/macOS/Linux Google Downloads Problemas
Firefox Windows/macOS/Linux Mozilla Downloads Problemas
Edge Windows/macOS/Linux Microsoft Downloads Problemas
Internet Explorer Windows Projeto Selenium Downloads Problemas
Safari macOS High Sierra e superiores Apple Integrado no Sistema Problemas

Note: The Opera driver no longer works with the latest functionality of Selenium and is currently officially unsupported.

Próximo Passo

Programando o seu primeiro script Selenium

Última modificação March 2, 2023: Removing custom tabpane and using Docsy's (2e303e9dda)