Warum funktionieren die Selenium Commands nicht?

3 Antworten

Mit find_element_by_link_text bekommst du den ersten Fund. Mit find_elements_by_link_text bekommst du alle Funde in einer Liste.

Wenn du letztgenannte Methode nutzen möchtest (was nur Sinn macht, wenn du nicht nach dem ersten Link mit diesem Text suchen möchtest), musst du also erst via Index das passende Element aus der Liste ziehen. Über dieses kannst du folgend click aufrufen.

Du hast in Link mehrere Objekte gespeichert. Mit link[0].click() sollte es klappen

Woher ich das weiß:eigene Erfahrung

Cyphy  02.01.2022, 23:33

Kannst dir ja auch mit Print einfach Mal Link ausgeben dann weißt du was du alles darin gespeichert hast

0
Kian808 
Fragesteller
 02.01.2022, 23:34

hey, ich habe keinen link eingefügt sondern versuche das er über den text den link klickt hab das in einem tutorial gesehen

0
Cyphy  02.01.2022, 23:38
@Kian808

Naja aber mit findelements... Suchst du alle Objekte/links in dem Text. Die werden dann im Objekt Link gespeichert welche du dann mit .click() anklicken möchtest. Also entweder mit link[0] oder mit link.get(0) solltest du den ersten Link aufrufen und klicken können. Bin mir da bei den ausdrücken nicht 100% sicher, da es schon eine Weile her ist das ich mit Python/Selenium gearbeitet habe. Soweit ich mich aber erinnere gibt es aber auch einen Befehl bei dem er nur den ersten Link auswählt. Wenn du den benutzt, kannst du link.click() ausführen. Weiß den Befehl aber nicht mehr musst du Mal googeln

0

Wie es scheint (keine Garantie). Hast du eine Liste bekommen, d.h. da sind mehrere Elemente drin. Nun weiss er nicht welches er letztendlich anklicken soll.

Versuchmal daraus ein dictionary zu machen und dann über den key auf den value zu gehen, falls dir das was sagt :-)