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

# So hostest du eine Selenium-Anwendung auf Square Cloud

> Vollständige Anleitung zur Automatisierung der Web-Navigation mit Selenium und Chromium auf Square Cloud mit professioneller Implementierung und fortgeschrittenen Konfigurationen.

## Professionelle Entwicklung von Selenium-Skripten

Um effiziente Web-Automatisierung auf Square Cloud umzusetzen, ist es entscheidend, eine geeignete Entwicklungsumgebung einzurichten und die Best Practices der Konfiguration zu befolgen.

### Wesentliche technische Voraussetzungen

* **Python und pip**: Stelle sicher, dass **Python** und **pip** auf deinem System installiert sind. Falls nicht, lade sie von der [offiziellen Python-Website](https://www.python.org/) und der [offiziellen Pip-Website](https://pypi.org/) herunter.
* **Square-Cloud-Konto**: Erstelle dein Konto über die [Registrierungsseite](https://squarecloud.app/de/signup) und verwende dazu deine E-Mail-Adresse.
* **Aktiver kostenpflichtiger Plan**: Ein kostenpflichtiger Plan ist notwendig, um ausreichende Ressourcen für den Betrieb von Selenium-Anwendungen sicherzustellen. Sieh dir unsere [verfügbaren Pläne](https://squarecloud.app/de/pricing) an und wähle den für deine Bedürfnisse passendsten.

### Konfiguration der Selenium-Umgebung

Mit installiertem Python und pip fahre mit der Erstellung des Selenium-Skripts fort. Installiere zunächst die Selenium-Bibliothek:

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

Erstelle als Nächstes eine Python-Datei (zum Beispiel `main.py`) und füge den folgenden Code hinzu, um ein grundlegendes Selenium-Skript umzusetzen:

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

## Abhängigkeitsverwaltung mit requirements.txt

Die Datei `requirements.txt` ist eine wesentliche Komponente, die alle externen Bibliotheken auflistet, die für dein Projekt benötigt werden. Es ist entscheidend, alle verwendeten Abhängigkeiten aufzunehmen, ausgenommen native Python-Bibliotheken wie `random` und `datetime`. Diese Datei sollte beim Einreichen deiner Anwendung an Square Cloud enthalten sein.

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

## Konfiguration des Chromium-Pfads

In der oben vorgestellten Implementierung ist es nicht notwendig, den Chromium-Pfad explizit festzulegen, da der Selenium WebDriver den Browser automatisch finden kann, wenn er an einem Standard-Systemort installiert ist. Der ChromeDriver, angegeben mit `Service('/usr/bin/chromedriver')`, weiß, wo sich die ausführbare Chromium/Chrome-Datei befindet.

### Square-Cloud-Architektur

Auf Square Cloud ist Chromium unter `/usr/bin/chromium` installiert, was der Standard-Systemort ist. Daher kann der Selenium WebDriver es über den angegebenen ChromeDriver automatisch finden. Somit besteht keine Notwendigkeit, den Chromium-Pfad im Code explizit anzugeben, es sei denn, es gibt spezifische Gründe dafür, wie benutzerdefinierte Installationen oder abweichende Umgebungskonfigurationen.

## Square-Cloud-Konfigurationsdatei

<Card title="Erfahre mehr: Wie du die Konfigurationsdatei für Square Cloud erstellst." icon="link" href="https://docs.squarecloud.app/de/getting-started/config-file">
  Die Datei squarecloud.app ist eine wesentliche Konfigurationsdatei, die zur Konfiguration deiner Anwendung auf Square Cloud verwendet wird. Sie definiert Name, Beschreibung, Version, Hauptdatei und weitere grundlegende Konfigurationen.
</Card>

## Projekt-Upload zu Square Cloud

Nachdem du alle Projektdateien vorbereitet hast, fahre mit dem Upload zu Square Cloud fort und hoste deine Anwendung professionell.

<Tabs>
  <Tab title="Dashboard-Upload">
    Öffne das [Square Cloud Dashboard](https://squarecloud.app/de/dashboard/new) und lade deine Projektdateien hoch.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Anwendung wird auf Square Cloud hochgeladen" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="CLI-Upload">
    <Steps>
      <Step title="Erster Schritt">
        Zunächst musst du die CLI in deiner Umgebung installiert haben. Falls noch nicht, führe den folgenden Befehl im Terminal aus:

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

        Wenn du sie bereits hast, empfehlen wir, sie zu aktualisieren. Führe dazu den folgenden Befehl im Terminal aus:

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

      <Step title="Zweiter Schritt">
        Um dich zu authentifizieren und weitere CLI-Befehle zu nutzen, findest du deinen Autorisierungsschlüssel [hier](https://squarecloud.app/de/account/security), indem du auf "Request API Key" klickst. Nachdem du deinen Autorisierungsschlüssel erhalten hast, führe den folgenden Befehl aus:

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

      <Step title="Dritter Schritt">
        Um deine Anwendung schließlich mit der CLI auf Square Cloud zu deployen, führe den folgenden Befehl aus und gib dabei den Pfad zu deiner Zip-Datei an:

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

## Zusätzliche Ressourcen und Dokumentation

Für ausführlichere Informationen über Selenium und seine fortgeschrittenen Werkzeuge besuche die [offizielle Selenium-Dokumentation](https://www.selenium.dev/documentation/webdriver/getting_started/). Dort findest du detaillierte technische Anleitungen, spezialisierte Tutorials und eine vollständige API-Dokumentation, um die Nutzung der Selenium-Funktionen zu maximieren.

## Kontaktiere uns

Falls du weiterhin **technische Schwierigkeiten** hast, steht dir unser **spezialisiertes Support-Team** zur Verfügung. [**Kontaktiere uns**](https://squarecloud.app/de/support) und wir helfen dir gerne, jedes Problem zu lösen.
