> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Como Hospedar uma Aplicação Selenium na Square Cloud

> Guia completo para automatizar navegação web utilizando Selenium e Chromium na Square Cloud com implementação profissional e configurações avançadas.

## Desenvolvimento de Script Selenium Profissional

Para implementar automação web eficiente na Square Cloud, é fundamental estabelecer um ambiente de desenvolvimento adequado e seguir as melhores práticas de configuração.

### Pré-requisitos Técnicos Essenciais

* **Python e pip**: Certifique-se de ter **Python** e **pip** instalados em seu sistema. Caso não os possua, faça o download no [site oficial do Python](https://www.python.org/) e no [site oficial do Pip](https://pypi.org/).
* **Conta na Square Cloud**: Crie sua conta através da [página de cadastro](https://squarecloud.app/pt-br/signup), utilizando seu endereço de email para registro.
* **Plano pago ativo**: É necessário possuir um plano pago para garantir recursos adequados para execução de aplicações Selenium. Consulte nossos [planos disponíveis](https://squarecloud.app/pt-br/pricing) e escolha o mais adequado às suas necessidades.

### Configuração do Ambiente Selenium

Com Python e pip instalados, proceda com a criação do script Selenium. Primeiro, instale a biblioteca Selenium:

```bash Terminal theme={null}
pip install selenium
```

Em seguida, crie um arquivo Python (por exemplo, `main.py`) e adicione o código a seguir para implementar um script Selenium básico:

```python main.py theme={null}
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

# Configuração de opções para o Chromium
options = Options()
options.add_argument("--headless")  # Executa em segundo plano sem interface gráfica
options.add_argument("--no-sandbox")  # Necessário para execução como root em ambientes containerizados
options.add_argument("--disable-dev-shm-usage")  # Supera limitações de memória compartilhada em páginas grandes

# Inicialização do driver
service = Service('/usr/bin/chromedriver')  # Caminho padrão do ChromeDriver na Square Cloud
driver = webdriver.Chrome(service=service, options=options)

# Configuração das dimensões da janela do navegador
driver.set_window_size(1920, 1080)  # Ajuste conforme necessário para sua aplicação

# Navegação para a página web
driver.get('https://www.google.com')

# Loop para captura de screenshots a cada minuto
while True:
    driver.save_screenshot('page.png')
    print("Screenshot da página salvo com sucesso.")
    time.sleep(60)  # Pausa de 60 segundos entre capturas
```

## Gerenciamento de Dependências com requirements.txt

O arquivo `requirements.txt` é um componente essencial que lista todas as bibliotecas externas necessárias para seu projeto. É fundamental incluir todas as dependências utilizadas, excluindo bibliotecas nativas do Python como `random` e `datetime`. Este arquivo deve ser incluído ao submeter sua aplicação à Square Cloud.

```txt requirements.txt theme={null}
selenium
```

## Configuração de Caminho do Chromium

Na implementação apresentada acima, não é necessário definir explicitamente o caminho do Chromium, pois o Selenium WebDriver pode localizar automaticamente o navegador quando instalado em uma localização padrão do sistema. O ChromeDriver, especificado com `Service('/usr/bin/chromedriver')`, possui conhecimento sobre onde localizar o executável do Chromium/Chrome.

### Arquitetura da Square Cloud

Na Square Cloud, o Chromium está instalado em `/usr/bin/chromium`, que é a localização padrão do sistema. Portanto, o Selenium WebDriver pode localizá-lo automaticamente através do ChromeDriver especificado. Desta forma, não há necessidade de especificar explicitamente o caminho do Chromium no código, a menos que existam razões específicas para fazê-lo, como instalações personalizadas ou configurações de ambiente diferenciadas.

## Configuração do Arquivo Square Cloud

<Card title="Aprenda sobre: como criar o arquivo de configuração para a Square Cloud." icon="link" href="https://docs.squarecloud.app/pt-br/getting-started/config-file">
  O arquivo squarecloud.app é um arquivo de configuração essencial que será utilizado para configurar sua aplicação na Square Cloud. Ele define nome, descrição, versão, arquivo principal, entre outras configurações fundamentais.
</Card>

## Upload do Projeto para a Square Cloud

Após preparar todos os arquivos do projeto, proceda com o upload para a Square Cloud e hospede sua aplicação profissionalmente.

<Tabs>
  <Tab title="Upload via Dashboard">
    Acesse o [Dashboard da Square Cloud](https://squarecloud.app/pt-br/dashboard/upload) e faça o upload dos arquivos do seu projeto.
    import Gif from "/snippets/pt-br/uploading-gif.mdx"

    <Gif />
  </Tab>

  <Tab title="Upload via CLI">
    <Steps>
      <Step title="Primeiro Passo">
        Primeiro, é necessário ter o CLI instalado em seu ambiente. Se ainda não o possui, execute o seguinte comando no terminal:

        ```bash Terminal theme={null}
        npm install -g @squarecloud/cli
        ```

        Se você já o possui, recomendamos atualizá-lo. Para isso, execute o seguinte comando no terminal:

        ```bash Terminal theme={null}
        squarecloud update
        ```
      </Step>

      <Step title="Segundo Passo">
        Para autenticar e utilizar outros comandos do CLI, você encontrará sua chave de autorização [aqui](https://squarecloud.app/pt-br/account/security) clicando em "Request API Key". Após obter sua chave de autorização, execute o seguinte comando:

        ```bash Terminal theme={null}
        squarecloud auth login
        ```
      </Step>

      <Step title="Terceiro Passo">
        Finalmente, para fazer deploy da sua aplicação na Square Cloud usando o CLI, execute o seguinte comando, fornecendo o caminho do seu arquivo zip:

        ```bash Terminal theme={null}
        squarecloud upload zip
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Recursos Adicionais e Documentação

Para obter informações mais detalhadas sobre Selenium e suas ferramentas avançadas, visite a [documentação oficial do Selenium](https://www.selenium.dev/pt-br/documentation/webdriver/getting_started/). Lá você encontrará guias técnicos detalhados, tutoriais especializados e documentação completa da API para maximizar o aproveitamento das funcionalidades do Selenium.

## Contate-nos

Se você continuar enfrentando **dificuldades técnicas**, nossa **equipe de suporte especializada** está disponível para auxiliá-lo. [**Entre em contato conosco**](https://squarecloud.app/pt-br/support) e teremos prazer em ajudá-lo a resolver qualquer questão.
