- Biblioteca Python para automatizar navegadores como Chrome e Firefox
- Helium é baseado em Selenium e oferece uma API de nível mais alto
- Scripts em Helium normalmente são 30–50% mais curtos do que scripts em Selenium, além de mais fáceis de ler e mais estáveis
- No Selenium, é preciso usar IDs HTML, XPath e seletores CSS, mas o Helium permite referenciar elementos pelos rótulos visíveis ao usuário
- É possível misturar Helium e Selenium
- Vantagens do Helium
- iFrames: o Helium consegue interagir com elementos dentro de iFrames aninhados.
- Gerenciamento de janelas: detecta automaticamente janelas pop-up e coloca o foco nelas. É fácil alternar entre elas
- Espera implícita: se você tentar clicar em um elemento específico antes de ele terminar de carregar, ele espera por padrão até 10 segundos até que apareça (no Selenium, o script falha)
- Espera explícita: oferece uma API melhor para aguardar até que uma condição seja atendida.
- Atualmente, não há suporte gratuito porque falta tempo para manter o projeto
- PRs são aceitos, e contribuições são bem-vindas.
- Histórico
- O Helium foi desenvolvido em 2013 para a BugFree Software, uma startup polonesa de TI
- Em 2019, a empresa encerrou as atividades e o Helium foi transformado em open source
- Era possível usá-lo em Java e Python, mas atualmente ele oferece suporte apenas a Python
- O nome Helium vem do elemento químico, assim como Selenium, e transmite a ideia de ser mais leve
1 comentários
Comentários do Hacker News
O fundador do projeto Selenium mencionou que a API do Helium é semelhante à API inicial do Selenium. Destacou que existem vários estilos de API de automação e que não há uma API que satisfaça todo mundo. Pessoalmente, prefere um estilo funcional simples
A maioria dos linters de Python e documentos de boas práticas não recomenda
import *. Em vez disso, é possível usar de forma concisa algo comoimport helium as hUm usuário que teve experiência com automação ad hoc usando Selenium comentou que a API do Helium, parecida com linguagem natural, teria sido útil
Foi levantada uma dúvida sobre a afirmação de que um wrapper para Selenium seria mais leve. Um wrapper, por definição, inclui mais código e funcionalidades, e não usa menos recursos nem é mais rápido
Há curiosidade sobre como o Helium se compara a Playwright, Selenium, Cypress e Puppeteer
Foi expressa gratidão pelo esforço para que o Helium não desaparecesse
Há curiosidade sobre a possibilidade de iniciar com um nome específico de perfil do Chrome ou reutilizar uma sessão existente do Firefox/Chrome
Foi levantada uma dúvida sobre quão fácil é distinguir automação de um usuário real. Ao usar a web por meio de automação, pode haver risco de bloqueio de acesso
Foi mencionado que o Helium parece poder ser usado para criar fluxos de agentes. Há interesse em criar uma instância sandbox capaz de coletar dados ou executar tarefas de resposta a perguntas
Há curiosidade sobre como o Helium reconhece campos de usuário. Foi levantada a dúvida se ele lê o rótulo e assume como campo de usuário o que estiver abaixo ou à direita dele