Driver do Selenium
Este guia explica como usar os utilitários nativos do Datallog para criar drivers do Selenium em um ambiente controlado e otimizado para a nuvem.
O módulo fornece:
- Criação automática de opções do Selenium (Chrome ou Firefox)
- Modo headless nativo ao executar dentro dos ambientes Datallog
- Um gerenciador de contexto (
DatallogSeleniumDriver) para abrir e fechar drivers de forma limpa
Visão Geral
O fluxo do driver funciona da seguinte maneira:
Preparar opções do driver Usando
selenium_driver_options(driver_type)para configurar Chrome ou FirefoxInicializar o WebDriver Usando
selenium_driver(driver_type), que cria a instância real do driver(Opcional) Usar o gerenciador de contexto A classe
DatallogSeleniumDrivercria e fecha o driver automaticamente
Isso ajuda a prevenir processos órfãos, garante compatibilidade com a execução em nuvem do Datallog e simplifica o uso do Selenium.
Requisitos
Para usar os utilitários de driver do Selenium, você precisa de:
- Python 3.10+
- A biblioteca
seleniuminstalada - Binários do Chrome ou Firefox e seus drivers correspondentes disponíveis em:
| Navegador | Caminho do Driver | Caminho do Binário |
|---|---|---|
| Chrome | /usr/bin/chromedriver | (detectado auto.) |
| Firefox | /usr/bin/geckodriver | /usr/bin/firefox |
Dentro do ambiente de execução do Datallog (datallog run ou no ambiente de nuvem do Datallog), esses caminhos já estão configurados.
Visão Geral das Funções
selenium_driver_options(driver_type)
Retorna um objeto Options do Selenium baseado no tipo de driver fornecido.
from datallog import selenium_driver_options
options = selenium_driver_options("chrome")A função:
- Configura flags de segurança básicas como
--no-sandbox,--disable-gpu(Chrome) - Define um local fixo para o binário do Firefox
selenium_driver(driver_type)
Cria e retorna um WebDriver Chrome ou Firefox totalmente inicializado.
from datallog import selenium_driver
driver = selenium_driver("firefox")
driver.get("https://example.com")Esta função:
- Carrega as opções apropriadas
- Usa os caminhos corretos do driver
- Retorna uma instância do Selenium pronta para uso
Usando o Gerenciador de Contexto
A maneira mais fácil e segura de usar o Selenium dentro do Datallog é com o gerenciador de contexto fornecido:
Exemplo
from datallog import DatallogSeleniumDriver
with DatallogSeleniumDriver("firefox") as driver:
driver.get("https://google.com")
print(driver.title)O gerenciador de contexto automaticamente:
- Cria o driver no
__enter__ - Chama
.quit()no__exit__ - Previne vazamento de recursos em pipelines de longa execução
Valores Retornados
selenium_driver_options→ retorna ChromeOptions ou FirefoxOptionsselenium_driver→ retorna uma instância de WebDriver Chrome ou FirefoxDatallogSeleniumDriver→ retorna o driver dentro do blocowith
Todos os drivers se comportam exatamente como drivers padrão do Selenium e suportam todas as APIs do Selenium.
Tratamento de Erros
Os utilitários de driver podem levantar:
ValueError— quando um tipo de driver não suportado é usado (qualquer coisa diferente de"chrome"ou"firefox")
A maioria dos outros erros se originará da própria biblioteca Selenium (ex.: binários ausentes, erros de navegação, etc.).
Tipos de Driver Suportados
from datallog import DriverType
driver_type = DriverType('firefox') # ou 'chrome'Resumo
Os utilitários Selenium do Datallog simplificam a automação de navegador ao:
- Fornecer padrões seguros para execução em nuvem e contêineres
- Lidar com o modo headless automaticamente
- Gerenciar ciclos de vida de drivers de forma limpa via gerenciadores de contexto
Eles se integram perfeitamente a pipelines de dados, scrapers e fluxos de trabalho de testes automatizados.