Instalando drivers de navegadores
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)
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+
- Importe o WebDriverManager
import io.github.bonigarcia.wdm.WebDriverManager;
- Invocar o
setup()
:
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
- Importe o Gerenciador de WebDriver para Python
from webdriver_manager.chrome import ChromeDriverManager
- 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)
- Importe o Pacote Gerenciador do WebDriver
using WebDriverManager;
using WebDriverManager.DriverConfigs.Impl;
- Use o
SetUpDriver()
que requer uma classe de configuração:
new DriverManager().SetUpDriver(new ChromeConfig());
var driver = new ChromeDriver();
- Add webdrivers gem to Gemfile:
gem 'webdrivers', '~> 5.0'
- Requer webdrivers no seu projeto:
require 'webdrivers'
- 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
- Importe o Gerenciador de WebDriver
import io.github.bonigarcia.wdm.WebDriverManager;
- 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 | 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