Metadata-Version: 2.1
Name: seleniumUts
Version: 1.0.0
Summary: Zdek Util libraries for Pythom coding
Home-page: https://github.com/SymplaAutomate/selenium-lib
Author: Zdek Development team
License: MIT
Keywords: seleniumUts
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Education
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: undetected-chromedriver>=3.5.5
Requires-Dist: selenium>=4.15.2

# SeleniumUts

Uma biblioteca Python que encapsula algumas funcionalidades do Selenium WebDriver, facilitando a automaÃ§Ã£o de navegadores para testes e raspagem de dados. A biblioteca suporta o uso do `undetected_chromedriver` e integra-se facilmente com o Selenoid para execuÃ§Ã£o de testes em ambientes distribuÃ­dos.

## Uso

### Importando a Biblioteca

```python
from seleniumUts import SeleniumUts
```

### Criando uma InstÃ¢ncia de `SeleniumUts`

```python
selenium_lib = SeleniumUts()
```

### Exemplos de Uso

#### Configurando o Selenium com ChromeDriver

```python
# Configure o Selenium sem usar o Selenoid
selenium_lib.setupSelenium(host=None, use_selenoid=False)

# Abrir uma pÃ¡gina web
driver = selenium_lib.open_page('https://www.example.com')

# Fechar o navegador
selenium_lib.close()
```

#### Configurando o Selenium com Selenoid

```python
# Configure o Selenium usando o Selenoid
selenoid_host = 'http://your-selenoid-server.com/wd/hub'
selenium_lib.setupSelenium(host=selenoid_host, use_selenoid=True)

# Abrir uma pÃ¡gina web
driver = selenium_lib.open_page('https://www.example.com')

# Fechar o navegador
selenium_lib.close()
```

#### Aguardando a Visibilidade de um Elemento

```python
# Configure o Selenium
selenium_lib.setupSelenium(host=None, use_selenoid=False)

# Abrir uma pÃ¡gina web
selenium_lib.open_page('https://www.example.com')

# Esperar atÃ© que o elemento esteja visÃ­vel
element = selenium_lib.wait_xpath('//button[@id="submit"]', time=10)
element.click()

# Fechar o navegador
selenium_lib.close()
```

#### Envio de Texto com Atraso entre Caracteres

```python
# Configure o Selenium
selenium_lib.setupSelenium(host=None, use_selenoid=False)

# Abrir uma pÃ¡gina web
selenium_lib.open_page('https://www.example.com')

# Encontrar o campo de texto e enviar texto com atraso
element = selenium_lib.wait_xpath('//input[@id="search-box"]')
element.delayed_send('Python Selenium', delay=0.2)

# Fechar o navegador
selenium_lib.close()
```

#### Rolagem atÃ© o Fim da PÃ¡gina

```python
# Configure o Selenium
selenium_lib.setupSelenium(host=None, use_selenoid=False)

# Abrir uma pÃ¡gina web
selenium_lib.open_page('https://www.example.com')

# Rolagem atÃ© o fim da pÃ¡gina
selenium_lib.scroll_end()

# Fechar o navegador
selenium_lib.close()
```

## MÃ©todos DisponÃ­veis

- **`setupSelenium(host, name="default", use_selenoid=False, cust_opt=[], remove_default_options=False, download_path=None, selenoid_browser=("chrome","110.0"))`**: Configura o WebDriver do Selenium com opÃ§Ãµes personalizadas e preferÃªncias para o ChromeDriver. Suporta configuraÃ§Ã£o para Selenoid.
- **`open_page(page)`**: Abre uma pÃ¡gina web e espera atÃ© que ela seja totalmente carregada.
- **`wait_xpath(path, time=20, throw=True)`**: Aguarda atÃ© que um elemento, identificado por um caminho XPath, esteja visÃ­vel no DOM.
- **`<el>.delayed_send(word, delay)`**: Envia texto para um elemento, inserindo um atraso especificado entre cada caractere.
- **`scroll_end()`**: Rola atÃ© o final da pÃ¡gina atual.
- **`close()`**: Fecha o navegador e encerra a sessÃ£o do WebDriver.

## ContribuiÃ§Ã£o

ContribuiÃ§Ãµes sÃ£o bem-vindas! Por favor, envie um pull request ou abra uma issue para quaisquer problemas ou melhorias.

## LicenÃ§a

Este projeto estÃ¡ licenciado sob a licenÃ§a MIT.


Change Log
==========

1.0.0 (2025-12-09)
------------------
- First Release
