![]() |
Python - Executar Selenium em Sistemas Operacionais sem GUI (Vídeo) | |
@CanalQb |
Configurações essenciais para rodar Selenium em ambientes sem interface gráfica
Ao trabalhar com automação usando o Selenium WebDriver em servidores ou sistemas Linux sem interface gráfica (GUI), algumas opções do ChromeDriver são fundamentais para garantir que o navegador funcione corretamente sem apresentar erros.
Opção --no-sandbox
A flag --no-sandbox
desativa o sandbox de segurança do Chrome, que normalmente isola o navegador do sistema operacional para evitar ataques maliciosos. Embora a sandbox seja importante para segurança, ela pode causar problemas de compatibilidade em certos ambientes, como servidores ou containers Docker. Por isso, desabilitar essa opção pode ser necessário para executar o navegador em sistemas restritos.
Opção --headless
O modo headless permite que o Chrome seja executado sem interface gráfica, ou seja, sem abrir janelas ou mostrar elementos visuais. Isso é ideal para testes automatizados, raspagem de dados (web scraping) e tarefas automatizadas onde a interface não é necessária, economizando recursos de processamento e memória.
Exemplo prático: Script Python para rodar Selenium em modo headless
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Configurações do ChromeDriver e do Chrome
chrome_options = Options()
chrome_options.add_argument('--no-sandbox') # Desativa sandbox por compatibilidade
chrome_options.add_argument('--headless') # Ativa modo headless (sem GUI)
chrome_options.add_argument('--disable-dev-shm-usage') # Evita problemas de memória compartilhada em alguns sistemas
# Caminho para o ChromeDriver no seu sistema
chrome_driver_path = '/path/to/chromedriver'
# Inicializa o WebDriver com as opções configuradas
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)
# Acessa uma página web
driver.get('https://www.google.com')
# Exemplo: busca por um termo usando o campo de pesquisa
search_box = driver.find_element('name', 'q')
search_box.send_keys('Python Selenium')
search_box.submit()
# Encerra o WebDriver após o uso
driver.quit()
Considerações finais
Rodar Selenium em sistemas sem GUI é uma prática comum para automação e testes em servidores ou ambientes em nuvem. Configurar as opções --no-sandbox
e --headless
corretamente ajuda a evitar problemas e melhora o desempenho. Sempre mantenha o ChromeDriver e o navegador Chrome atualizados para garantir compatibilidade e segurança.
Para mais tutoriais e exemplos, acesse o canal oficial: @CanalQb