[Python] Typ Fehler: 'WebElement'-Objekt ist nicht iterierbar Was tun, wenn ein Fehler auftritt?

Umgebung

macOS Catalina 10.15.3 Python 3.6.5 selenium 3.141.0

Überblick

Scraping von Google-Suchergebnissen mit Python-Selen Extrahieren Sie die extrahierten Elemente mit einer for-Schleife in die Liste

Probleme, die aufgetreten sind

'WebElement' object is not iterable Übersetzung: Das 'WebElement'-Objekt ist nicht wiederholbar

Hier ist ein Fehler aufgetreten, der beim Ausführen einer for-Schleife aufgetreten ist 'Xxx', angegeben als Referenzquelle für i in xxx, kann das sich wiederholende Element nicht abrufen. Es ist das.

Beispielcode

Zu diesem Zeitpunkt entfällt die Vorverarbeitung mit Seleniumu.

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')) 

Im obigen Code ist ein Fehler aufgetreten

TypeError: 'WebElement' object is not iterable

Ursache

#7. Zeile hier
w = driver.find_element_by_class_name(“x”)

.find_element extrahiert nur ein einzelnes Element, sodass es nicht wiederholbar ist.

Lösung

# .find_Elemente… bitte
w = driver.find_elements_by_class_name(“x”)

Sie müssen vorsichtig sein, ob Sie eine einzelne Elementextraktion oder mehrere Elemente benötigen. Ich habe viel gelernt.

Referenz

"Ich habe versucht, den Titel und die URL-Liste der Google-Suche mit Python zu extrahieren." https://watlab-blog.com/2019/08/15/python-google-searchlist/

Recommended Posts

[Python] Typ Fehler: 'WebElement'-Objekt ist nicht iterierbar Was tun, wenn ein Fehler auftritt?
[Python] Was tun, wenn ein Fehler im Zusammenhang mit der SSL-Authentifizierung zurückgegeben wird?
[Python] Was tun, wenn bei send_keys in Headless Chrome ein Fehler auftritt?
Was tun, wenn beim Importieren von _ssl ein Fehler auftritt?
[Beanstalk] Was tun, wenn beim Importieren der UUID ein Fehler auftritt?
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Was tun, wenn beim Importieren von numpy mit VScode ein Fehler auftritt?
[OSX] [pyenv] Was tun, wenn in pip ein SSL-Fehler auftritt?
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Was tun, wenn PyInstaller3.5 einen Fehler in Python3.8 verursacht (TypeError: Eine Ganzzahl ist erforderlich (Typbytes erhalten))
Verfahren, die durchgeführt werden müssen, wenn Japanisch nicht in matplotlib angezeigt wird
Was tun, wenn python3 venv auf Raspberry Pi nicht gut funktioniert?
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Was tun, wenn beim Aktualisieren von conda ein Fehler beim Entfernen auftritt?
Was tun, wenn beim Importieren von matplotlib in Python (Mac) eine Fehlermeldung angezeigt wird?
Was tun, wenn beim Laden eines mit Poesie erstellten Python-Projekts in VS Code ein Fehler auftritt?
Was tun, wenn in GAE "Typfehler: muss _socket.socket sein, nicht Socket" angezeigt wird
Was tun, wenn ein nicht in pom.xml definiertes Glas zu einem fehlenden Artefakt wird?
Was tun, wenn ModuleNotFoundError: In Python tritt kein Modul mit dem Namen 'XXX' auf
NameError: Der globale Name'dot_parser 'ist nicht definiert und was ist zu tun, wenn er in Python angezeigt wird?
Was tun, wenn bei der Installation von pyenv kein Fehler auftritt?
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Was tun, wenn psycopg2 einen Fehler auslöst, wenn pipenv in einer Pipenv-Umgebung gesperrt wird?
Was ist ein Algorithmus? Einführung in den Suchalgorithmus] ~ Python ~
Was tun, wenn ein PermissionError in tempfile.mkstemp auftritt?
[Hyperas] Typ Fehler: Das Auflösen des Funktionsobjekts ist nicht abonnierbar
[Mac OS] Was tun, wenn Python nicht als Framework installiert ist? Wird angezeigt, wenn der Import von matplot lib ausgeführt wird.
So schreiben Sie, was zu tun ist, wenn die Anwendung zum ersten Mal in Qt for Python mit Designer angezeigt wird
[Django] Was tun, wenn beim Registrieren von Daten von der Verwaltungssite in die Datenbank ein Integritätsfehler auftritt?
Was tun, wenn CERTIFICATE_VERIFY_FAILED auftritt, wenn nltk.download () unter macOS pyhon ausgeführt wird?
Was tun, wenn ein SSL-Fehler mit pip in einer Windows10-, Miniconda- oder VScode-Umgebung auftritt?
Was tun, wenn in Sublime Text Python ein Unicode-Codierungsfehler auftritt?
Was tun, wenn "TypeError: Datentyp nicht verstanden" in der Python-Datei numpy.zeros angezeigt wird?
[EC2] Was tun, wenn Selen festsitzt und die Verarbeitung nicht fortgesetzt wird?
Was tun, wenn unter Ubuntu 20.04 ein SSL-Verbindungsfehler (ssl.SSLError: [SSL: DH_KEY_TOO_SMALL]) auftritt?
curl: (60) Was tun, wenn das Ausstellerzertifikat ungültig ist?
Was tun, wenn ValueError, "nicht unterstützter Hash-Typ" ausgelöst wird?
Was tun, wenn "Name xxx nicht importiert werden kann" [Python]
Was tun, wenn pyenv nicht aktiviert ist (zsh)
Was tun, wenn der Fehler RuntimeError angezeigt wird: Python wird nicht als Framework installiert, wenn Sie versuchen, matplitlib und pylab in Python 3.3 zu verwenden
Was zu tun ist, wenn es nicht in der Sudoers-Datei enthalten ist. Dieser Vorfall wird gemeldet.
[Python] Was tun, wenn beim Erstellen von Exe mit PyInstaller kein Modul mit dem Namen "pyproj.datadir" angezeigt wird?
Was tun, wenn der Druckbefehl selbst einen Fehler in Mayas Python verursacht?
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
Was tun, wenn Pythons IntelliSense in VS Code unter Windows nicht angezeigt wird?
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Was tun, wenn bei der Installation von openCV 3 der Fehler "Fehler: opencv3: Unterstützt nicht das Erstellen von Python 2- und 3-Wrappern" angezeigt wird
Was tun, wenn die PyCharm-Schrift seltsam oder verstümmelt ist?
Was tun, wenn in tf.train.start_queue_runners () ein 0xC0000005-Fehler auftritt?
Was tun, wenn in Python "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" angezeigt wird?
Was tun, wenn unter Linux die Fehlermeldung "Namensauflösung vorübergehend fehlgeschlagen" ausgegeben wird?
Was tun, wenn aufgrund der Proxy-Einstellungen in Python Web Scraping keine Antwort erfolgt?
Was tun, wenn beim Ausführen von "certbot erneuern" in der CakePHP-Umgebung eine Fehlermeldung angezeigt wird?