Referência da API Selenium
Depois de assumir o controle do ambiente, você pode usar os comandos padrão do Selenium para interagir com as páginas. Aqui estão as operações mais comuns adaptadas ao fluxo do Mbbrowser.
1. Localizando Elementos
Use locadores eficientes para encontrar botões, campos de texto e links.
python
from selenium.webdriver.common.by import By
# Por ID
elemento = driver.find_element(By.ID, "login-button")
# Por XPath (Mais flexível)
usuario = driver.find_element(By.XPATH, "//input[@name='user']")
# Por seletor CSS
senha = driver.find_element(By.CSS_SELECTOR, ".input-password")2. Ações de Interação
Simule o comportamento humano de forma realista.
python
# Digitar texto
usuario.send_keys("meu_usuario")
# Clicar em botões
elemento.click()
# Limpar campos
usuario.clear()
# Obter texto ou atributos
texto = elemento.text
valor = elemento.get_attribute("value")3. Esperas (Waits)
Nunca use time.sleep() fixo se puder usar esperas inteligentes. Elas tornam seu script robusto contra variações de rede.
python
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Aguardar até que um elemento esteja clicável (máximo 10 segundos)
espera = WebDriverWait(driver, 10)
btn = espera.until(EC.element_to_be_clickable((By.ID, "submit")))
btn.click()4. Execução de JavaScript
Às vezes, você precisa interagir diretamente com o motor JS do navegador.
python
# Rolar a página para baixo
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Obter variáveis do JS
user_id = driver.execute_script("return window.variableName;")5. Capturas de Tela (Screenshots)
Útil para depuração de erros em massa.
python
driver.save_screenshot("erro_no_login.png")6. Gestão de Abas (Tabs)
Muitas vezes, clicar em um link abre uma nova aba.
python
# Obter todas as IDs das abas
abas = driver.window_handles
# Mudar para a nova aba
driver.switch_to.window(abas[1])NOTE
Lembre-se que o Mbbrowser isola o armazenamento. Se você salvar algo no LocalStorage via Selenium, isso ficará persistido no seu perfil do Mbbrowser!
