Méthodes WebDriver que les débutants de Python recherchaient en premier

introduction

J'ai moi-même commencé Python et le codage après avoir rejoint l'entreprise en octobre. Je ne sais pas encore grand chose, mais en guise de mémorandum d'étude, j'aimerais écrire sur la méthode Webdriver que j'ai étudiée à plusieurs reprises lorsque je commençais tout juste Python et le codage. C'est écrit en regardant les premières notes, donc je serais très heureux si vous pouviez signaler les erreurs!

Qu'est-ce que Selenium Web Driver?

Un outil pour faire fonctionner un navigateur Web par programmation. Vous pouvez effectuer par programme une série d'étapes telles que l'ouverture de chrome, la saisie de mots-clés dans la fenêtre de recherche et le clic sur le bouton de recherche. Cela permet de gratter et de tester.

Ce qui suit est requis pour utiliser.

from selenium import webdriver

Qu'est-ce que WebElement?

Fait référence à l'élément DOM. DOM est un mécanisme pour accéder à chaque élément de xml et html (une balise, une balise p, etc.). En d'autres termes, l'élément DOM fait référence à chaque élément affiché sur le Web.

Résumé des méthodes pouvant être utilisées pour WebElement

L'appel de méthode vérifie si l'élément peut être référencé. Si une erreur se produit, une StaleElementReferenceException sera levée.

find_element

method
find_element_by_id(id) Rechercher des éléments dans les éléments enfants par ID
find_element_by_class_name(class) Rechercher des éléments dans les éléments enfants par classe
find_element_by_css_selector(css_selector) Rechercher des éléments dans des éléments enfants avec des sélecteurs CSS
find_element_by_tag_name(name) Rechercher des éléments dans les éléments enfants par nom de balise (h1, tr, etc.)
find_element_by_name(name) Rechercher des éléments dans les éléments enfants avec la propriété name
find_element_by_link_text(link_text) Recherche par chaîne de texte du lien
find_element_by_partial_link_text(link_text) Recherche par partie de la chaîne de texte du lien
find_element_by_xpath(xpath) Rechercher des éléments par xpath

find_elements

La méthode de recherche est fondamentalement la même que find_element. ** * Notez que contrairement à find_element, il sera renvoyé sous forme de liste! !! ** ** Si vous ne notez pas qu'il sera retourné dans la liste, vous ne pouvez pas utiliser la méthode, pourquoi! !! (Je suis devenu)

method
find_elements_by_id(id) Rechercher des éléments dans les éléments enfants par ID
find_elements_by_class_name(class) Rechercher des éléments dans les éléments enfants par classe
find_elements_by_css_selector(css_selector) Rechercher des éléments dans des éléments enfants avec des sélecteurs CSS
find_elements_by_tag_name(name) Rechercher des éléments dans les éléments enfants par nom de balise (h1, tr, etc.)
find_elements_by_name(name) Rechercher des éléments dans les éléments enfants avec la propriété name
find_elements_by_link_text(link_text) Recherche par chaîne de texte du lien
find_elements_by_partial_link_text(link_text) Recherche par partie de la chaîne de texte du lien
find_elements_by_xpath(xpath) Rechercher des éléments par xpath

Le find_element et find_elements que vous devriez utiliser car il y a une pluralité de types, on parle aussi de ça, mais c'est omis cette fois. Personnellement, je ne pense pas que vous devriez utiliser xpath ou link text ...

click() Cliquez sur l'élément. text Obtient le texte de l'élément. clear() Pour les éléments qui vous permettent de saisir du texte, le texte est effacé. send_keys(value) Remplissez les éléments. Ce qui suit est requis pour utiliser.

from selenium.webdriver.common.keys import Keys

get_attribute(name) Obtient les propriétés de l'attribut ou de l'élément spécifié. Si l'attribut spécifié n'existe pas, Aucun sera renvoyé. is_displayed() L'élément est-il affiché? is_selected() L'élément est-il sélectionné? Vous pouvez obtenir si le bouton radio ou la case à cocher est sélectionné.

Exemple de code

Ceci est un exemple de code en prime. J'en ai présenté certains, donc je ne les ai pas utilisés, mais ce n'est pas difficile. Veuillez me pardonner de l'omettre un peu.

sample.html


<body>
  <form>
    <h2>Nom</h2>
      <input id="name" type="text" maxlength="50">
  <h2>Animal préféré</h2>
      <select name="dropdown">
        <option value="elephant">l'éléphant</option>
        <option value="lion">Lion</option>
        <option value="giraffe">Kirin</option>
    <label><input type="checkbox" id="chk" checked>Case à cocher</label>
    <input type="submit" id="agree_and_goto_next">
  </form>
</body>

sample.py


def test_change_params(self):
    #Entrez un nom
    name = driver.find_element_by_id('name')
    name.clear()
    name.send_keys('arisa yamamoto')

    #Sélectionnez Lion dans le menu déroulant
    dropdown = Select(driver.find_element_by_id('dropdown'))
    dropdown.select_by_value('1')

    #Cochez la case
    chk_box = driver.find_element_by_id('chk')
    if chk_box.is_selected is False:
        chk_box.click()

    #Appuyez sur le bouton de consentement
    agr_btn = driver.find_element_by_id('agree_and_goto_next')
    agr_btn.click()

en conclusion

Cela semble facile maintenant, mais il s'avère qu'il y a trop de choses qu'un débutant complet ne saurait pas. Je continuerai à me consacrer tout en prenant des notes.

Recommended Posts

Méthodes WebDriver que les débutants de Python recherchaient en premier
Manuel python pour les débutants
Flux d'apprentissage pour les débutants en Python
Construction de l'environnement Python3 (pour les débutants)
Python #function 2 pour les super débutants
Grammaire de base Python pour les débutants
Pandas 100 coups pour les débutants en Python
#List Python pour les super débutants
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
Python pour les super débutants Super débutants Python # dictionnaire type 1
Python #index pour les super débutants, tranches
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Fonction Python #len pour les super débutants
Voir python pour la première fois
Web scraping pour les débutants en Python (1)
Exécutez unittest en Python (pour les débutants)
Web scraping pour les débutants en Python (4) -1
Recherche de l'emplacement du module python mercurial
Python #Hello World pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 2
Non local (désolé de ne pas pouvoir expliquer) auquel les débutants en Python (élèves du premier cycle du secondaire) étaient dépendants
INSÉRER dans MySQL avec Python [Pour les débutants]
Premiers pas pour les débutants en apprentissage automatique (IA)
Mettons ensemble Python pour les super débutants
MongoDB avec Python pour la première fois
10 erreurs Python communes aux débutants
[Python] Lire des images avec OpenCV (pour les débutants)
Création WebApi avec Python (création CRUD) Pour les débutants
Ensemble d'entrées standard Atcoder pour les débutants (python)
[Pour les débutants] Essayez le web scraping avec Python
Un manuel pour les débutants réalisé par des débutants Python
Analyse des données en Python Résumé des sources que les débutants devraient d'abord consulter
Retour sur le concours d'apprentissage automatique sur lequel j'ai travaillé pour la première fois
Selenium + WebDriver (Chrome) + Python | Création d'un environnement pour le scraping
Le moyen le plus rapide pour les débutants de maîtriser Python
Python pour les super débutants Super débutants Python # Facile à éliminer
Raisonnement causal et recherche causale par Python (pour les débutants)
La première application Web créée par des débutants en Python
Mémo n ° 3 que les débutants Python lisent "Explication détaillée de la grammaire Python"
J'ai essayé la programmation python pour la première fois.
Mémo n ° 1 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Essayez de calculer RPN avec Python (pour les débutants)
Compréhension facile de Python pour les tableaux et (pour les super débutants)
Mémo n ° 2 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 7 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Introduction à la programmation (Python) TA Tendency pour les débutants
Mémo n ° 6 pour les débutants Python à lire "Explication détaillée de la grammaire Python"
Comment rendre le Python des débutants plus rapide [numpy]
~ Conseils pour les débutants de Python donnés avec amour par Pythonista ② ~
[Introduction pour les débutants] Manipuler MySQL avec Python
À propos de l'importation de modules externes Python <Pour les super débutants>
Histoire de base de l'héritage en Python (pour les débutants)
[Python] Introduction au scraping WEB | Résumé des méthodes pouvant être utilisées avec webdriver