Metadata-Version: 2.4
Name: cdriv
Version: 1.0.0
Summary: Controle o Chromium via ChromeDriver no Termux. Alternativa ao Playwright/Selenium que não funcionam em android/aarch64.
Author: cdriv
License: MIT
Project-URL: Homepage, https://github.com/cdriv/cdriv
Project-URL: Repository, https://github.com/cdriv/cdriv
Keywords: termux,chromedriver,scraper,android,webdriver
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Developers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests

# cdriv

Lib Python para controlar Chromium via ChromeDriver no **Termux**.
Alternativa direta ao Playwright e Selenium (que **não funcionam** em `aarch64/android`).

## Instalação

```bash
pip install cdriv
```

Pré-requisitos no Termux:

```bash
pkg install chromium-browser chromedriver
```

Em outros Linux (Ubuntu/Debian):

```bash
sudo apt install chromium-browser chromium-chromedriver
```

## Uso

```python
from cdriv import CDriv

with CDriv() as driver:
    driver.new_session()
    driver.navigate("https://exemplo.com")

    html = driver.get_page_source()
    cookies = driver.get_cookies_dict()
    titulo = driver.get_title()

    print(titulo)
```

### Cookies + requests

```python
import requests
from cdriv import CDriv

with CDriv() as driver:
    driver.new_session()
    driver.navigate("https://site-alvo.com")

    session = requests.Session()
    session.cookies.update(driver.get_cookies_dict())

    resp = session.get("https://site-alvo.com/api/dados")
    print(resp.json())
```

## Métodos principais

| Método | Descrição |
|--------|-----------|
| `start()` | Inicia o ChromeDriver |
| `new_session()` | Abre uma janela do Chromium |
| `navigate(url)` | Navega para uma URL |
| `get_page_source()` | Retorna o HTML completo |
| `get_cookies_dict()` | Retorna cookies como dict |
| `execute_script(js)` | Executa JavaScript na página |
| `click(selector)` | Clica em um elemento |
| `fill(selector, value)` | Preenche um campo |
| `screenshot(path)` | Tira screenshot |
| `close()` | Fecha a sessão |
| `stop()` | Para o ChromeDriver |

Veja a docstring de cada método para mais detalhes.
