Oi Romulo, como vai?
Peço perdão pela demora em obter um retorno.
A biblioteca BeautifulSoup é apenas um analisador de HTML e como sua necessidade é interagir com uma página, recomendo que utilize a biblioteca Selenium. Na Alura, temos cursos com esse conteúdo na linguagem C#.
Entretanto, deixarei abaixo um exemplo simples de automação semelhante ao que você pretende fazer utilizando a biblioteca selenium e a linguagem python que foi vista ao decorrer deste curso de Web Scraping . No exemplo abaixo, iremos acessar a página inicial da Alura, preencher o input para pesquisar alguma tecnologia e listar os três primeiros resultados. O código estará comentado, mas qualquer dúvida fique a vontade para perguntas.
Pré requisitos para execução do código:
Utilizaremos o navegador Google Chrome, caso não o utilize, faça o download do mesmo neste link
Baixe o WebDriver responsável por auxiliar na automatização do procedimento, bem como abrir a página automaticamente, clicar em algum elemento, dentre outros. Extraia o arquivo e o coloque na mesma pasta que estiver salvo o código
Instale a biblioteca Selenium através do seguinte comando: pip install selenium
Com o ambiente preparado, vamos ao código:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.alura.com.br/") # abre a página no navegador
driver.maximize_window() # Maximizo a janela, pois o input aparece com a janela maximizada
input_element = driver.find_element_by_id("header-barraBusca-form-campoBusca") # procuro o input pelo id
input_element.send_keys("django") # digita no campo de input
input_element.send_keys(Keys.RETURN) # tecla o ENTER
# mudo o driver.get para a página atual de pesquisa que foi aberta
pagina_atual = driver.window_handles[0]
driver.switch_to.window(pagina_atual)
driver.implicitly_wait(10) # espera para que o html da página atual seja carregado
resultado_da_pesquisa = driver.find_elements_by_css_selector("h4.busca-resultado-nome") # acesso a classe que mostra os resultados da pesquisa
resultado_da_pesquisa = resultado_da_pesquisa[:3] # Capturo os 3 primeiros resultados da busca
for resultado in resultado_da_pesquisa:
print(resultado.text) # Exibo o texto da busca
time.sleep(2)
driver.quit()
Veja o funcionamento:
Deixo como referência para consultas a documentação desta biblioteca.
Espero que te ajude e qualquer dúvida estou por aqui.
Abraços e bons estudos!