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!
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
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.
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.
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()
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