Selenium: Seite vollständig geladen
Verfasst: Dienstag 19. September 2023, 20:18
Hallo,
ich verwende momentan folgenden Code, um mit Selenium durch eine Shop-Kategorie zu navigieren:
Jetzt ist mir aufgefallen, dass ohne die Verzögerung von time.sleep(10) der Aufruf der Folgekategorie nicht funktioniert und der gesamte Testfall somit abbricht.
Sprich, mein Warten auf die expected-condition greift zu früh, weil der Link dann noch nicht vollständig aufgebaut ist und nicht geklickt werden kann.
Kennt Ihr Tricks, wie ich in so einem Fall umgehen kann?
Kann man z.B. irgendwie herausfinden, bis wann die Seite vollständig geladen wurde?
Die Inhalte werden aber an der Stelle dynamisch nachgeladen.
Nachtrag: Mir ist aufgefallen, dass die Kategorien keine Klicks haben, sondern da wohl ein Javascript sein Unwesen treibt.
Wie kann ich denn abfragen, ob alle JavaSkripte geladen sind?
ich verwende momentan folgenden Code, um mit Selenium durch eine Shop-Kategorie zu navigieren:
Code: Alles auswählen
logging.info("8. Kategorie wird geladen")
start_time = time.monotonic()
expected_condition = EC.visibility_of_element_located((By.XPATH, "//h2[contains(text(),'Kategorie')]"))
wait = WebDriverWait(self.driver, 10000)
wait.until(expected_condition)
end_time = time.monotonic()
self.testcase_navigation = self.testcase_navigation + "Kategorie /"
logging.info(self.testcase_project + ";" + datetime.datetime.now().strftime("%w.%m.%Y;%H:%M") + ";" + self.testcase_name + ";" + self.testcase_browser + ";" + self.testcase_navigation + ";Top Seller;" + f"{end_time - start_time:.1f}")
time.sleep(10)
self.driver.find_element(By.XPATH, "//h3[normalize-space()='Unterkategorie']").click()
Sprich, mein Warten auf die expected-condition greift zu früh, weil der Link dann noch nicht vollständig aufgebaut ist und nicht geklickt werden kann.
Kennt Ihr Tricks, wie ich in so einem Fall umgehen kann?
Kann man z.B. irgendwie herausfinden, bis wann die Seite vollständig geladen wurde?
Die Inhalte werden aber an der Stelle dynamisch nachgeladen.
Nachtrag: Mir ist aufgefallen, dass die Kategorien keine Klicks haben, sondern da wohl ein Javascript sein Unwesen treibt.
Wie kann ich denn abfragen, ob alle JavaSkripte geladen sind?