WebDriver-Methoden, nach denen Python-Anfänger zuerst gesucht haben

Einführung

Ich selbst habe Python und Coding gestartet, nachdem ich im Oktober in das Unternehmen eingetreten war. Ich weiß noch nicht viel, aber als Memorandum of Study möchte ich über die Webdriver-Methode schreiben, die ich wiederholt untersucht habe, als ich neu in Python war und mit dem Codieren begonnen habe. Es wurde geschrieben, während man sich die frühen Notizen ansieht, daher würde ich mich sehr freuen, wenn Sie auf Fehler hinweisen könnten!

Was ist Selenium Web Driver?

Ein Tool zum programmgesteuerten Bedienen eines Webbrowsers. Sie können programmgesteuert eine Reihe von Schritten ausführen, z. B. das Öffnen von Chrome, die Eingabe von Schlüsselwörtern in das Suchfenster und das Klicken auf die Suchschaltfläche. Dies ermöglicht das Schaben und Testen.

Folgendes ist erforderlich, um zu verwenden.

from selenium import webdriver

Was ist WebElement?

Bezieht sich auf das DOM-Element. DOM ist ein Mechanismus für den Zugriff auf jedes Element von xml und html (ein Tag, ein p-Tag usw.). Mit anderen Worten, das DOM-Element bezieht sich auf jedes im Web angezeigte Element.

Zusammenfassung der Methoden, die für WebElement verwendet werden können

Der Methodenaufruf prüft, ob auf das Element verwiesen werden kann. Wenn ein Fehler auftritt, wird eine StaleElementReferenceException ausgelöst.

find_element

method
find_element_by_id(id) Suchen Sie nach Elementen in untergeordneten Elementen anhand der ID
find_element_by_class_name(class) Suchen Sie nach Elementen in untergeordneten Elementen nach Klasse
find_element_by_css_selector(css_selector) Suchen Sie mit CSS-Selektoren nach Elementen in untergeordneten Elementen
find_element_by_tag_name(name) Suchen Sie nach Elementen in untergeordneten Elementen anhand des Tag-Namens (h1, tr usw.).
find_element_by_name(name) Suchen Sie nach Elementen in untergeordneten Elementen mit der Eigenschaft name
find_element_by_link_text(link_text) Suche nach Textzeichenfolge des Links
find_element_by_partial_link_text(link_text) Suchen Sie nach einem Teil der Textzeichenfolge des Links
find_element_by_xpath(xpath) Suche nach Elementen mit xpath

find_elements

Die Suchmethode ist grundsätzlich dieselbe wie find_element. ** * Beachten Sie, dass es im Gegensatz zu find_element als Listentyp zurückgegeben wird! !! ** ** ** Wenn Sie nicht bemerken, dass es in der Liste zurückgegeben wird, können Sie die Methode nicht verwenden, warum! !! (Ich wurde)

method
find_elements_by_id(id) Suchen Sie nach Elementen in untergeordneten Elementen anhand der ID
find_elements_by_class_name(class) Suchen Sie nach Elementen in untergeordneten Elementen nach Klasse
find_elements_by_css_selector(css_selector) Suchen Sie mit CSS-Selektoren nach Elementen in untergeordneten Elementen
find_elements_by_tag_name(name) Suchen Sie nach Elementen in untergeordneten Elementen anhand des Tag-Namens (h1, tr usw.).
find_elements_by_name(name) Suchen Sie nach Elementen in untergeordneten Elementen mit der Eigenschaft name
find_elements_by_link_text(link_text) Suche nach Textzeichenfolge des Links
find_elements_by_partial_link_text(link_text) Suchen Sie nach einem Teil der Textzeichenfolge des Links
find_elements_by_xpath(xpath) Suche nach Elementen mit xpath

Das find_element und find_elements, die Sie verwenden sollten, da es eine Vielzahl von Typen gibt, wird auch darüber gesprochen, aber diesmal wird es weggelassen. Persönlich denke ich nicht, dass Sie xpath oder Linktext verwenden sollten ...

click() Klicken Sie auf das Element. text Ruft den Text des Elements ab. clear() Bei Elementen, mit denen Sie Text eingeben können, wird der Text gelöscht. send_keys(value) Füllen Sie die Elemente aus. Folgendes ist erforderlich, um zu verwenden.

from selenium.webdriver.common.keys import Keys

get_attribute(name) Ruft die Eigenschaften des angegebenen Attributs oder Elements ab. Wenn das angegebene Attribut nicht vorhanden ist, wird None zurückgegeben. is_displayed() Wird das Element angezeigt? is_selected() Ist das Element ausgewählt? Sie können feststellen, ob das Optionsfeld oder das Kontrollkästchen aktiviert ist.

Beispielcode

Dies ist ein Beispielcode als Bonus. Ich habe einige von ihnen vorgestellt, also habe ich sie nicht benutzt, aber es ist nicht schwierig. Bitte vergib mir, dass ich es ein wenig ausgelassen habe.

sample.html


<body>
  <form>
    <h2>Name</h2>
      <input id="name" type="text" maxlength="50">
  <h2>Lieblingstier</h2>
      <select name="dropdown">
        <option value="elephant">Elefant</option>
        <option value="lion">Löwe</option>
        <option value="giraffe">Kirin</option>
    <label><input type="checkbox" id="chk" checked>Kontrollkästchen</label>
    <input type="submit" id="agree_and_goto_next">
  </form>
</body>

sample.py


def test_change_params(self):
    #Geben Sie einen Namen ein
    name = driver.find_element_by_id('name')
    name.clear()
    name.send_keys('arisa yamamoto')

    #Wählen Sie Lion aus dem Pulldown-Menü
    dropdown = Select(driver.find_element_by_id('dropdown'))
    dropdown.select_by_value('1')

    #Aktivieren Sie das Kontrollkästchen
    chk_box = driver.find_element_by_id('chk')
    if chk_box.is_selected is False:
        chk_box.click()

    #Drücken Sie die Einwilligungstaste
    agr_btn = driver.find_element_by_id('agree_and_goto_next')
    agr_btn.click()

abschließend

Es klingt jetzt einfach, aber es stellt sich heraus, dass es zu viele Dinge gibt, die ein Anfänger nicht wissen würde. Ich werde mich weiterhin widmen, während ich mir Notizen mache.

Recommended Posts

WebDriver-Methoden, nach denen Python-Anfänger zuerst gesucht haben
Python Lehrbuch für Anfänger
Lernablauf für Python-Anfänger
Python3-Umgebungskonstruktion (für Anfänger)
Python #Funktion 2 für Super-Anfänger
Grundlegende Python-Grammatik für Anfänger
100 Pandas klopfen für Python-Anfänger
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Python #index für Super-Anfänger, Slices
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Python #len Funktion für Super-Anfänger
Siehe Python zum ersten Mal
Web Scraping für Anfänger in Python (1)
Führen Sie unittest in Python aus (für Anfänger)
Web Scraping für Anfänger in Python (4) -1
Ich suche nach dem Ort des Quecksilber-Python-Moduls
Python #Hello World für Super-Anfänger
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
Nicht lokal (Entschuldigung, dass ich es nicht erklären konnte), von dem Python-Anfänger (Schüler der Mittelstufe) abhängig waren
INSERT in MySQL mit Python [Für Anfänger]
Erste Schritte für Anfänger des maschinellen Lernens (KI)
Lassen Sie uns Python für Super-Anfänger zusammenstellen
MongoDB mit Python zum ersten Mal
10 Python-Fehler, die Anfängern häufig sind
[Python] Bilder mit OpenCV lesen (für Anfänger)
WebApi-Erstellung mit Python (CRUD-Erstellung) Für Anfänger
Atcoder-Standardeingabesatz für Anfänger (Python)
[Für Anfänger] Versuchen Sie Web Scraping mit Python
Ein Lehrbuch für Anfänger von Python-Anfängern
Datenanalyse in Python Zusammenfassung der Quellen, die Anfänger zuerst betrachten sollten
Rückblick auf den Wettbewerb für maschinelles Lernen, an dem ich zum ersten Mal gearbeitet habe
Selen + WebDriver (Chrome) + Python | Erstellen einer Umgebung zum Scraping
Der schnellste Weg für Anfänger, um Python zu beherrschen
Python für Super-Anfänger Super-Anfänger Python # Einfach loszuwerden
Kausales Denken und kausale Suche von Python (für Anfänger)
Die erste Web-App, die von Python-Anfängern erstellt wurde
Memo Nr. 3, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Ich habe zum ersten Mal versucht, Python zu programmieren.
Memo Nr. 1, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
Memo Nr. 2, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Memo Nr. 7, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Einführung in die Programmierung (Python) TA Tendenz für Anfänger
Memo Nr. 6 für Python-Anfänger zum Lesen von "Detaillierte Erklärung der Python-Grammatik"
Wie man Python für Anfänger schneller macht [numpy]
~ Tipps für Python-Anfänger mit Liebe von Pythonista ② ~
[Einführung für Anfänger] Umgang mit MySQL mit Python
Über den Import von externen Python-Modulen <Für Super-Anfänger>
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
[Python] Einführung in das WEB-Scraping | Zusammenfassung der Methoden, die mit dem Webdriver verwendet werden können