> ## 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.

# Cómo alojar una aplicación de Selenium en Square Cloud

> Guía completa para automatizar la navegación web usando Selenium y Chromium en Square Cloud con implementación profesional y configuraciones avanzadas.

## Desarrollo Profesional de Scripts de Selenium

Para implementar una automatización web eficiente en Square Cloud, es esencial establecer un entorno de desarrollo adecuado y seguir las mejores prácticas de configuración.

### Requisitos Técnicos Esenciales

* **Python y pip**: Asegúrate de tener **Python** y **pip** instalados en tu sistema. Si no los tienes, descárgalos desde el [sitio web oficial de Python](https://www.python.org/) y el [sitio web oficial de Pip](https://pypi.org/).
* **Cuenta de Square Cloud**: Crea tu cuenta a través de la [página de registro](https://squarecloud.app/es/signup), usando tu dirección de correo electrónico para el registro.
* **Plan de Pago Activo**: Un plan de pago es necesario para garantizar recursos adecuados para ejecutar aplicaciones de Selenium. Consulta nuestros [planes disponibles](https://squarecloud.app/es/pricing) y elige el más adecuado para tus necesidades.

### Configuración del Entorno de Selenium

Con Python y pip instalados, procede con la creación del script de Selenium. Primero, instala la biblioteca de Selenium:

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

A continuación, crea un archivo de Python (por ejemplo, `main.py`) y agrega el siguiente código para implementar un script básico de Selenium:

```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

# Configuration options for Chromium
options = Options()
options.add_argument("--headless")  # Runs in background without graphical interface
options.add_argument("--no-sandbox")  # Required for execution as root in containerized environments
options.add_argument("--disable-dev-shm-usage")  # Overcomes shared memory limitations on large pages

# Driver initialization
service = Service('/usr/bin/chromedriver')  # Default ChromeDriver path on Square Cloud
driver = webdriver.Chrome(service=service, options=options)

# Browser window dimensions configuration
driver.set_window_size(1920, 1080)  # Adjust as needed for your application

# Navigate to web page
driver.get('https://www.google.com')

# Loop for screenshot capture every minute
while True:
    driver.save_screenshot('page.png')
    print("Page screenshot saved successfully.")
    time.sleep(60)  # 60-second pause between captures
```

## Gestión de Dependencias con requirements.txt

El archivo `requirements.txt` es un componente esencial que lista todas las bibliotecas externas necesarias para tu proyecto. Es crucial incluir todas las dependencias utilizadas, excluyendo las bibliotecas nativas de Python como `random` y `datetime`. Este archivo debe incluirse al enviar tu aplicación a Square Cloud.

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

## Configuración de la Ruta de Chromium

En la implementación presentada anteriormente, no es necesario definir explícitamente la ruta de Chromium, ya que el Selenium WebDriver puede localizar automáticamente el navegador cuando está instalado en una ubicación estándar del sistema. El ChromeDriver, especificado con `Service('/usr/bin/chromedriver')`, tiene conocimiento sobre dónde localizar el ejecutable de Chromium/Chrome.

### Arquitectura de Square Cloud

En Square Cloud, Chromium está instalado en `/usr/bin/chromium`, que es la ubicación estándar del sistema. Por lo tanto, el Selenium WebDriver puede localizarlo automáticamente a través del ChromeDriver especificado. Así, no hay necesidad de especificar explícitamente la ruta de Chromium en el código, a menos que haya razones específicas para hacerlo, como instalaciones personalizadas o configuraciones de entorno diferentes.

## Archivo de Configuración de Square Cloud

<Card title="Aprende sobre: cómo crear el archivo de configuración para Square Cloud." icon="link" href="https://docs.squarecloud.app/es/getting-started/config-file">
  El archivo squarecloud.app es un archivo de configuración esencial que se utilizará para configurar tu aplicación en Square Cloud. Define el nombre, la descripción, la versión, el archivo principal, entre otras configuraciones fundamentales.
</Card>

## Subida del Proyecto a Square Cloud

Después de preparar todos los archivos del proyecto, procede con la subida a Square Cloud y aloja tu aplicación de forma profesional.

<Tabs>
  <Tab title="Subida mediante el Dashboard">
    Accede al [Dashboard de Square Cloud](https://squarecloud.app/es/dashboard/new) y sube los archivos de tu proyecto.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Subiendo aplicación a Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="Subida mediante la CLI">
    <Steps>
      <Step title="Primer Paso">
        Primero, necesitas tener la CLI instalada en tu entorno. Si aún no la tienes, ejecuta el siguiente comando en la terminal:

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

        Si ya la tienes, te recomendamos actualizarla. Para hacerlo, ejecuta el siguiente comando en la terminal:

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

      <Step title="Segundo Paso">
        Para autenticarte y usar otros comandos de la CLI, encontrarás tu clave de autorización [aquí](https://squarecloud.app/es/account/security) haciendo clic en "Request API Key". Después de obtener tu clave de autorización, ejecuta el siguiente comando:

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

      <Step title="Tercer Paso">
        Por último, para desplegar tu aplicación en Square Cloud usando la CLI, ejecuta el siguiente comando, proporcionando la ruta a tu archivo zip:

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

## Recursos y Documentación Adicionales

Para obtener información más detallada sobre Selenium y sus herramientas avanzadas, visita la [documentación oficial de Selenium](https://www.selenium.dev/documentation/webdriver/getting_started/). Allí encontrarás guías técnicas detalladas, tutoriales especializados y documentación completa de la API para maximizar el uso de las funcionalidades de Selenium.

## Contáctanos

Si continúas enfrentando **dificultades técnicas**, nuestro **equipo de soporte especializado** está disponible para ayudarte. [**Contáctanos**](https://squarecloud.app/es/support) y estaremos encantados de ayudarte a resolver cualquier problema.
