CodeGym /Kurse /Python SELF DE /Grundlegende Aktionen im Browser

Grundlegende Aktionen im Browser

Python SELF DE
Level 35 , Lektion 2
Verfügbar

1. Webseiten öffnen: Die ersten Schritte

Wenn du jemals davon geträumt hast, der Meister der Webseiten zu werden, dann bist du bei dieser Vorlesung genau richtig. Heute werden wir mit Hilfe von Selenium Webseiten öffnen und lernen, mit ihnen zu interagieren. Stell dir vor, du steuerst den Browser wie ein Dirigent ein Orchester, nur dass das Orchester das Internet ist und die Partitur der Python-Code. Lass uns unser Konzert starten!

Bevor wir mit einer Webseite interagieren können, müssen wir sie erstmal öffnen, richtig? Das ist wie in eine Bibliothek zu gehen, bevor man ein Buch findet. In Selenium wird das Öffnen von Webseiten mit einem Browser-Treiber durchgeführt. Zu diesem Zeitpunkt nehmen wir an, dass du Selenium und den entsprechenden Webdriver (z. B. ChromeDriver oder GeckoDriver) bereits installiert hast. Wenn du die vorherige Vorlesung gemacht hast, weißt du, wie das geht. Falls nicht, geh zurück und lies sie noch einmal durch.

Schauen wir uns an, wie man mit dem einfachen Öffnen einer Webseite beginnt:

Python

from selenium import webdriver

# Erstellen eines WebDriver-Objekts für Chrome
driver = webdriver.Chrome()

# Öffnen einer Webseite
driver.get('https://www.example.com')

# Ausgabe des Seitentitels in die Konsole
print(driver.title)

# Schließen des Browsers
driver.quit()

Was passiert im Code:

  1. WebDriver importieren: Das ist das Herz von Selenium, das den Browser steuert.
  2. Driver erstellen: Hier erstellen wir ein Driver-Objekt für Chrome. Das kann jeder beliebige Browser sein, für den du einen Treiber hast.
  3. Seite öffnen: Die Methode get() lädt die Seite mit der angegebenen URL.
  4. Seitentitel bekommen: Mit driver.title können wir den Titel der aktuellen Seite ausgeben.
  5. Browser schließen: Die Methode quit() beendet die Sitzung mit dem Browser.

Das war's, wir haben unsere erste Webseite geöffnet! Das ist der erste Schritt zur Weltherrschaft... ähm, ich meine, zur Automatisierung!

2. Navigation und Arbeit mit Tabs

Eine Seite zu öffnen, reicht oft nicht aus. Oft müssen wir zwischen Seiten navigieren oder sogar mehrere Tabs öffnen. Stell dir vor, du bist ein Reisender, der sich sofort zwischen Orten teleportieren kann. Mit Selenium ist das möglich.

Seitenwechsel

Von einer Seite zur anderen zu wechseln, ist genauso einfach wie das Öffnen:

Python

# Wechsel zu einer anderen Seite
driver.get('https://www.example.org')

# Zurück zur vorherigen Seite mit der Methode back()
driver.back()

# Vorwärts bewegen mit der Methode forward()
driver.forward()

Arbeiten mit Tabs

Und wie wäre es, einen neuen Tab zu öffnen? Das ist, als würdest du deinen Laptop mit in Bibliotheken verschiedener Städte nehmen!

Python

# Öffnen eines neuen Tabs und Umschalten darauf
driver.execute_script("window.open('https://www.example.com', '_blank');")
driver.switch_to.window(driver.window_handles[1])

# Zurück zum ersten Tab
driver.switch_to.window(driver.window_handles[0])

Erklärung:

  • execute_script(): Wird verwendet, um JavaScript-Code im Browser auszuführen. Hier öffnen wir einen neuen Tab.
  • switch_to.window(): Diese Methode ermöglicht das Umschalten zwischen Tabs. Wir verwenden window_handles, um auf die Liste aller offenen Tabs zuzugreifen.

3. Interaktion mit der Webseite

Jetzt, da wir gelernt haben, Seiten zu öffnen und zu navigieren, lasst uns mit ihnen direkt interagieren – wie ein echter Entwickler! Es ist, als würdest du lernen, mit jeder Webseite zu tanzen, und das meisterhaft.

Interaktionsoberfläche

Schauen wir uns ein Beispiel an, wie man mit Elementen auf der Seite interagiert. Zum Beispiel ein Textfeld suchen und Text eingeben:

Python

# Element nach seinem Namen finden
search_box = driver.find_element_by_name('q')

# Text in das gefundene Textfeld eingeben
search_box.send_keys('Selenium Python')

# Suchschaltfläche finden und darauf klicken
submit_button = driver.find_element_by_name('btnK')
submit_button.click()

Erklärung:

  • find_element_by_name(): Methode, um ein Element per Namen zu finden. Hier suchen wir ein Suchfeld.
  • send_keys(): Ermöglicht das Eingeben von Text in ein gefundenes Element.
  • click(): Wird verwendet, um einen Klick auf ein Element zu simulieren, z. B. eine Schaltfläche.

Zusätzliche Methoden

Für komplexere Interaktionen mit Elementen gibt es eine Vielzahl von Methoden. Schau dir die Selenium-Dokumentation für tiefere Einblicke an. Wir schauen uns hier einige grundlegende an.

  • find_element_by_id(): Findet ein Element per ID.
  • find_element_by_class_name(): Findet ein Element anhand des Klassennamens.
  • find_element_by_css_selector(): Verwendet CSS-Selektoren für die Suche.

Jetzt kannst du Seiten öffnen und erkunden, wie ein echter Web-Reisender! Hab keine Angst, zu experimentieren und Neues auszuprobieren. Wie man so schön sagt: "Fehler sind Leitern auf dem Weg zum Erfolg" – besonders wenn dein Code zuverlässig und getestet ist!

Typische Fehler

Mit Selenium zu arbeiten, kann ein bisschen wie ein Minenfeld sein, wenn du die Stolpersteine nicht kennst. Einer der häufigsten Fehler ist es, die Browsersitzung nicht zu beenden. Das kann dazu führen, dass Browserprozesse im Speicher hängen bleiben. Verwende immer driver.quit(), um dein Skript zu beenden.

Ein weiteres Problem mit Selenium ist, wenn sich die Struktur der Webseite ändert. Wenn ein Element durch einen Selektor gefunden wurde und der Website-Entwickler die HTML-Struktur ändert, funktioniert dein Skript plötzlich nicht mehr. Es ist, als ob dir plötzlich die Tür vor der Nase zugemacht wird, wenn du einen Raum betreten willst. Es ist wichtig, flexiblen Code zu schreiben und ihn regelmäßig an die Änderungen auf der Website anzupassen.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION