# Referência da API O Minima fornece uma API rica e semântica para interagir com o navegador de forma perfeita. ## Motor Principal (Core Engine) ### `@browser_session` Um decorador que automatiza a configuração, o contexto de execução e o encerramento de uma sessão de navegador. ```python from minima.engine.context import browser_session @browser_session( url="https://exemplo.com", browser_type="chrome", # 'chrome' ou 'firefox' maximize=True, headless=False, kill_browser=True ) def meu_script(): pass ``` ### `Browser` Uma interface de alto nível para ações no nível do navegador. - `Browser.accept_alert(timeout=5)` - `Browser.switch_to_new_tab()` - `Browser.switch_to_original_tab()` - `Browser.close_current_tab()` --- ## Elementos de UI Todos os elementos de UI herdam da classe base `UIElement`. Os elementos são localizados usando argumentos de palavras-chave que correspondem aos atributos HTML (ex: `id="btn"`, `class_="primary"`, `text="Enviar"`). ### Ações Base (`UIElement`) Disponíveis em todos os widgets derivados (Button, Dropdown, Text, etc.): - `.click(timeout=10)` - `.double_click(delay=0.1, timeout=10)` - `.hover(timeout=10)` - `.unhover(timeout=10)` - `.scroll_to(timeout=10)` - `.drag_to(target_widget, timeout=10)` - `.properties(timeout=10)` -> `dict` - `.get_attribute(attribute_name, timeout=10)` -> `str` ### `Button` Representa botões clicáveis `