Skip to content

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:

  1. Preparar opções do driver Usando selenium_driver_options(driver_type) para configurar Chrome ou Firefox

  2. Inicializar o WebDriver Usando selenium_driver(driver_type), que cria a instância real do driver

  3. (Opcional) Usar o gerenciador de contexto A classe DatallogSeleniumDriver cria 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 selenium instalada
  • Binários do Chrome ou Firefox e seus drivers correspondentes disponíveis em:
NavegadorCaminho do DriverCaminho 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.

python
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.

python
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

python
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 FirefoxOptions
  • selenium_driver → retorna uma instância de WebDriver Chrome ou Firefox
  • DatallogSeleniumDriver → retorna o driver dentro do bloco with

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

python
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.