Questão de Programação — Linguagens de programação — INSTITUTO AOCP 2025
- Código
- qg542696
- Banca
- INSTITUTO AOCP
- Órgão
- SANESUL
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- APillow.
- BPandas.
- CNumpy.
- DOS.
- ESelenium.
GabaritoE — Selenium.
Gabarito: letra E. O Selenium é a biblioteca do Python projetada especificamente para automatizar navegadores, permitindo interação programada com páginas web — clicar em botões, preencher formulários e baixar arquivos — exatamente o cenário descrito no enunciado. As demais alternativas (Pillow, Pandas, Numpy e OS) são bibliotecas com finalidades distintas, como processamento de imagens, análise de dados e interação com o sistema operacional.
O Selenium é um framework de automação de testes e de navegadores que fornece uma API para controlar navegadores como Chrome, Firefox e Edge de forma programática. Ele permite simular ações de um usuário real, como clicar em elementos, digitar texto, navegar entre páginas e fazer downloads. No contexto de RPA (Robotic Process Automation), o Selenium é amplamente utilizado para automatizar tarefas repetitivas em interfaces web, como o cenário descrito: um servidor que precisa clicar em botões e baixar arquivos PDF de um site.
A biblioteca funciona através de um WebDriver, que é um componente que estabelece a comunicação entre o código Python e o navegador. O WebDriver recebe os comandos do script e os executa no navegador, retornando os resultados. Essa arquitetura permite que o Selenium controle o navegador de forma nativa, simulando interações reais do usuário.
É importante distinguir o Selenium de outras bibliotecas de automação web, como o Requests ou o BeautifulSoup. Enquanto o Selenium controla um navegador real (com JavaScript, cookies e sessões), o Requests faz requisições HTTP diretas e o BeautifulSoup faz parsing de HTML. Para tarefas que exigem interação com elementos dinâmicos ou JavaScript, o Selenium é a escolha adequada.
A pegadinha desta questão está em confundir bibliotecas de propósito geral com a biblioteca específica para automação de navegadores. O candidato que não conhece o ecossistema Python pode ser tentado a escolher uma biblioteca de análise de dados (Pandas, Numpy) ou de processamento de imagens (Pillow), mas nenhuma delas tem a capacidade de controlar um navegador. O critério decisivo é: a tarefa exige interação com uma página web → Selenium.
A Pillow (PIL) é uma biblioteca para processamento e manipulação de imagens, como redimensionar, cortar, filtrar e converter formatos. Ela não possui funcionalidades para controlar navegadores ou interagir com páginas web. A confusão pode surgir porque o cenário envolve baixar arquivos PDF, mas a Pillow não lida com PDFs nem com automação de navegadores.
O Pandas é uma biblioteca para manipulação e análise de dados, oferecendo estruturas como DataFrame e Series. É amplamente usada para processamento de dados tabulares, mas não tem capacidade de automatizar navegadores ou interagir com páginas web. A confusão pode ocorrer porque o Pandas é uma das bibliotecas mais populares do Python, mas sua finalidade é completamente diferente.
O Numpy é uma biblioteca para computação numérica e científica, fornecendo suporte para arrays multidimensionais e funções matemáticas. É fundamental para cálculos científicos, mas não possui funcionalidades de automação de navegadores. A confusão pode surgir porque o Numpy é frequentemente usado em conjunto com o Pandas, mas nenhum deles é adequado para o cenário descrito.
O módulo OS (os) é uma biblioteca padrão do Python que fornece funcionalidades para interagir com o sistema operacional, como manipular arquivos, diretórios e variáveis de ambiente. Embora possa ser usado para gerenciar arquivos baixados, ele não tem capacidade de controlar um navegador ou interagir com páginas web. A confusão pode ocorrer porque o módulo OS é usado para tarefas de sistema, mas não para automação de navegadores.
O Selenium é a biblioteca do Python projetada especificamente para automatizar navegadores. Ele permite controlar navegadores como Chrome, Firefox e Edge, simulando ações de um usuário real: clicar em botões, preencher formulários, navegar entre páginas e baixar arquivos. No cenário descrito, o analista precisa interagir com um site para clicar em botões e baixar PDFs, o que é exatamente a função do Selenium. Ele é amplamente utilizado em RPA e testes automatizados de aplicações web.
Para identificar a biblioteca correta em questões de automação web, pergunte-se: "a tarefa exige controlar um navegador real?" Se sim, a resposta é Selenium. Se a tarefa for apenas fazer requisições HTTP ou extrair dados de HTML estático, outras bibliotecas como Requests e BeautifulSoup seriam mais adequadas. Memorize as finalidades principais: Selenium (automação de navegador), Pillow (imagens), Pandas (dados tabulares), Numpy (cálculo numérico) e OS (sistema operacional).
Gabarito: letra E
Link permanente: /questoes/qg542696