[Python] Erreur de type: l'objet 'WebElement' n'est pas itérable Que faire lorsqu'une erreur se produit

environnement

macOS Catalina 10.15.3 Python 3.6.5 selenium 3.141.0

Aperçu

Scraping des résultats de recherche Google avec le sélénium python Extraire les éléments extraits de la liste avec une boucle for

Problèmes survenus

'WebElement' object is not iterable Traduction: l'objet 'WebElement' n'est pas répétable

Ici, c'est une erreur qui s'est produite lors de l'exécution d'une boucle for, donc le point est «Xxx» spécifié comme source de référence dans for i in xxx ne peut pas récupérer l’élément répétitif. C'est ça.

Exemple de code

À ce stade, le prétraitement utilisant du séléniumu est omis.

title_list = []
link_list = []
i = 1
i_max = 2

while i <= i_max:
    w = driver.find_element_by_class_name(“x”)
    for elem in x:
         title_list.append(elem.find_element_by_class_name(‘y’).text)           
         link_list.append(elem.find_element_by_tag_name(‘a’).get_attribute('href')) 

Une erreur s'est produite dans le code ci-dessus

TypeError: 'WebElement' object is not iterable

Cause

#7ème ligne ici
w = driver.find_element_by_class_name(“x”)

.find_element n'extrait qu'un seul élément, il n'est donc pas répétable.

Solution

# .find_éléments… s'il vous plaît
w = driver.find_elements_by_class_name(“x”)

Vous devez faire attention si vous avez besoin d'une extraction d'un seul élément ou de plusieurs éléments. J'ai beaucoup appris.

référence

"J'ai essayé d'extraire le titre de la recherche Google et la liste d'URL avec Python" https://watlab-blog.com/2019/08/15/python-google-searchlist/

Recommended Posts

[Python] Erreur de type: l'objet 'WebElement' n'est pas itérable Que faire lorsqu'une erreur se produit
[Python] Que faire lorsqu'une erreur liée à l'authentification SSL est renvoyée
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête
Que faire lorsqu'une erreur se produit avec import _ssl
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Que faire lorsque le type de valeur est ambigu en Python?
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
[OSX] [pyenv] Que faire lorsqu'une erreur SSL se produit dans pip
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire si PyInstaller3.5 provoque une erreur dans Python3.8 (TypeError: un entier est requis (obtenu les octets de type))
Procédures à suivre lorsque le japonais n'est pas affiché dans matplotlib
Que faire si Python3 Venv ne fonctionne pas bien sur Raspberry Pi
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire lorsqu'une erreur de suppression se produit lors de la mise à jour de conda
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
Que faire si une erreur se produit lorsque vous chargez un projet Python créé avec de la poésie dans VS Code
Que faire lorsque "Erreur de type: doit être _socket.socket, pas socket" apparaît dans GAE
Que faire lorsqu'un artefact manquant se produit dans un fichier jar qui n'est pas défini dans pom.xml
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
NameError: le nom global'dot_parser 'n'est pas défini et que faire quand il apparaît en python
Que faire si l'installation de pyenv ne se poursuit pas avec une erreur
Que faire si vous obtenez une erreur lors du chargement de mnist
Que faire si psycopg2 génère une erreur lorsque pipenv se verrouille dans un environnement Pipenv
Qu'est-ce qu'un algorithme? Introduction à l'algorithme de recherche] ~ Python ~
Que faire quand une PermissionError dans tempfile.mkstemp se produit
[Hyperas] Erreur de type: la résolution de l'objet "fonction" n'est pas en indice
[Mac OS] Que faire lorsque Python n'est pas installé en tant que framework S'affiche lors de l'importation de matplot lib.
Comment écrire quoi faire lorsque l'application est affichée pour la première fois dans Qt pour Python avec Designer
[Django] Que faire lorsqu'une erreur d'intégrité se produit lors de l'enregistrement des données du site de gestion dans la base de données
Que faire si CERTIFICATE_VERIFY_FAILED se produit lorsque nltk.download () est effectué sur macOS pyhon
Que faire lorsqu'une erreur SSL se produit avec pip dans l'environnement Windows10, miniconda, VScode
Que faire si une erreur de codage Unicode se produit dans Sublime Text Python
Que faire lorsque "TypeError: type de données non compris" apparaît dans numpy.zeros de python
[EC2] Que faire lorsque le sélénium est bloqué et que le traitement ne se poursuit pas
Que faire si une erreur de connexion SSL (ssl.SSLError: [SSL: DH_KEY_TOO_SMALL]) se produit sur Ubuntu 20.04
curl: (60) Que faire lorsque le certificat de l'émetteur n'est pas valide.
Que faire lorsque vous déclenchez ValueError, "type de hachage non pris en charge"
Que faire lorsque "impossible d'importer le nom xxx" [Python]
Que faire si pyenv n'est pas activé (zsh)
Que faire si vous obtenez l'erreur RuntimeError: Python n'est pas installé en tant que framework lorsque vous essayez d'utiliser matplitlib et pylab dans Python 3.3
Que faire quand n'est pas dans le fichier sudoers. Cet incident sera signalé.
[Python] Que faire quand Aucun module nommé "pyproj.datadir" n'apparaît lors de la création d'Exe avec PyInstaller
Que faire si la commande d'impression elle-même provoque une erreur dans le python de Maya
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Que faire si vous ne voyez pas IntelliSense de Python dans VS Code sous Windows
Que faire si vous obtenez une erreur d'importation lors de l'importation de matplotlib avec Jupyter
Que faire si vous exécutez python sur IntelliJ et quittez avec une erreur
Que faire si vous obtenez l'erreur "Erreur: opencv3: Ne prend pas en charge la construction des wrappers Python 2 et 3" lors de l'installation d'openCV 3
Que faire lorsque la police PyCharm est étrange ou déformée
Que faire si une erreur 0xC0000005 se produit dans tf.train.start_queue_runners ()
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
Que faire lorsque vous obtenez une erreur indiquant «Échec temporaire de la résolution du nom» sous Linux
Que faire s'il n'y a pas de réponse en raison des paramètres de proxy dans le scraping Web Python
Que faire si vous obtenez une erreur lors de l'exécution de "certbot renouveler" dans l'environnement CakePHP