ich habe ein kleines Problem im Umgang mit Selenium+Python:
Ich will von einer Seite bestimmte custom Elemente raussuchen und Diese der Reihe nach anklicken.
Der relevante Part meines Codes sieht aktuell so aus:
Code: Alles auswählen
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException, NoSuchElementException # Import NoSuchElementException
#vielerlei options Anpassungen
driver = webdriver.Chrome(options=options)
EintraegeLinks = driver.find_elements(By.XPATH, '//jb-job-listen-eintrag')
Ich WEIß TOTSICHER dass rund 25 passende Elemente auf der Seite sind.
Sind halt keine div's oder sowas Handelsübliches.
Aber wenn ich bspw. von Hand
Code: Alles auswählen
document.querySelectorAll("jb-job-listen-eintrag")
Nur die Variante über Selenium findet gar nichts, die zurückgelieferte Lsite hat Länge 0!
Auch
Code: Alles auswählen
driver.find_element(...)
Ich habe auch schon alle möglichen Varianten wie
Code: Alles auswählen
EintraegeLinks = driver.find_elements(By.TAG_NAME, "jb-job-listen-eintrag")
oder
EintraegeLinks = driver.find_elements("css selector", "jb-job-listen-eintrag")
(Die letzte Variante habe ich für andere Dom Suchereien immer benutzt und sie hat so immer funktioniert! Gleichzeitig kann der css selector aber auch nicht falsch sein, sonst würde er in der Konsole ja auch nicht einwandfrei klappen!)
Ich bin am Verzweifeln, Befehl müsste richtig sein, der css selector auch, Elemente ist ohne jeden Zweifel auch da
(Ich habe sprichwörtlich, mit input() unterbrochen, getestet konsolen manuell die Elemente zu finden, klappte direkt vor und nach dem Selenium Befehl, sie sind also totsicher im richtigen Moment da!)
Was könnte ich falsch machen?
Es ist auch kein shadowroot im Weg oder so.
Nur benutzt halt die Seite viele custom Elemente, was aber normal kein Problem sein sollte, oder?
Oder wie gehe ich mit custom Elementen um, scheinbar klappt bei denen ja die Standard Selenium Syntax nicht? :-/
PS:
So sieht übrigens eine der Nodes aus, die ich suche:
Code: Alles auswählen
<jb-job-listen-eintrag _ngcontent-serverapp-c1131953983="" _nghost-serverapp-c1010496867="">