DEV Community

Cover image for RPA e JavaScript: uma amizade improvável (ou nem tanto)
Diego Henrique
Diego Henrique

Posted on

RPA e JavaScript: uma amizade improvável (ou nem tanto)

Se alguém me dissesse, lá no começo da minha jornada com automações, que eu ia agradecer por ter estudado JavaScript, eu provavelmente ia dar risada, meio desconfiado. Afinal, na minha cabeça, JavaScript era “coisa de front-end”, certo? Aquele pessoal que mexe com sliders, menus e efeitos bonitinhos no navegador.

Mas foi só até eu bater de frente com um site do governo que essa ideia começou a mudar.

Minha experiência: o desafio da tabela invisível

Atualmente estou desenvolvendo uma automação simples de webscraping. A missão: extrair informações de uma tabela de dados de um site. Aparentemente tranquilo... até eu perceber que essa tabela estava dentro de um <iframe>.

Pra quem ainda está começando: pense no iframe como uma “janela dentro da janela”. Seu robô vê a tela principal, mas não enxerga o que está lá dentro sem fazer um esforço extra.

Explorei alguns dos recursos da plataforma RPA que estava utilizando. Fui pra guerra com meu conhecimento de XPath feito na unha, daqueles que te fazem se sentir um verdadeiro arqueólogo digital:

//div[@id='coisa-estranha']/table/tbody/tr[2]/td[3]
Enter fullscreen mode Exit fullscreen mode

Se esse trecho te pareceu um enigma egípcio, não se assuste. XPath tem essa cara estranha mesmo... relaxa. É só XPath sendo XPath. É esquisito no começo, mas depois começa a fazer sentido.

Mas olha, aprender XPath vale ouro, viu? Recomendo fortemente que todo iniciante abrace essa aventura. Só cuidado: uma vírgula fora do lugar e você passa 40 minutos conversando com o abismo. 😅

Voltando a falar sobre minha guerra com scraping,a abordagem não funcionava. A plataforma não conseguia enxergar direito dentro do iframe. Foi aí que me veio uma luz: "E se eu tentar acessar direto o DOM da página com JavaScript?"

O Herói improvável: JS

Icone do Javascript em formato de super herói - Imagem gerada com IA

Usei um comando simples da ferramenta RPA para executar JavaScript dentro da página. E com algumas linhas de código, consegui acessar os elementos invisíveis e extrair exatamente o que precisava.

1 | const xpath = "//table/tbody/tr[position()=last()-1]/td[last()]"
2 | const result = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
3 | 
4 | const cell = result.singleNodeValue
5 | 
6 | return cell ? cell.textContent.trim() : null
Enter fullscreen mode Exit fullscreen mode

Pronto. Em questão de segundos, o robô começou a coletar os dados corretamente — com precisão cirúrgica. No momento ele atende ao que precisava, mas como todo código, ele é passivel de melhoria, claro.

Foi nesse dia que caiu minha ficha:

➡️ JavaScript não é só linguagem de botão bonito. Ele é uma chave que abre portas escondidas no navegador.

E para quem está começando …

Talvez JavaScript pareça um bicho de sete cabeças. E tudo bem. Mas acredite em mim: vale muito a pena aprender o básico.

Com JavaScript, você consegue:

  • Acessar informações que os olhos do robô não enxergam;
  • Criar lógicas mais elegantes e enxutas;
  • Deixar suas automações mais leves, robustas e seguras.

Você não precisa ser um expert de primeira. Comece simples, testando scripts no console do navegador. Explore document.querySelector, getElementById, innerText — isso já te coloca quilômetros à frente.

🛠️ Dica técnica:
Muitas plataformas RPA permitem injetar JavaScript diretamente em navegadores através de comandos como Execute JavaScript ou Run JS. Isso elimina limitações impostas por mapeamentos visuais e torna o bot mais adaptável às mudanças de layout de página.

Pra fechar ...

Na prática, aprender JS dentro do contexto RPA é também uma forma de expandir sua forma de pensar automações. É deixar de depender exclusivamente de “caixas de ferramentas prontas” e começar a montar suas próprias soluções, sob medida para os desafios reais dos projetos.

Top comments (0)