Ich versuche, eine Anwendung mit Selenium zu erstellen. Meine Funktionen sind genau wie folgt. Nachdem Sie in einigen Dropdown-Menüs eine Auswahl getroffen haben, erscheint auf der Seite eine Animation mit der Klasse „Laden“, bei der alle Elemente entfernt und nach Abschluss des Ladevorgangs wieder hinzugefügt werden. Ich habe es so geschafft, wie ich es mitgeteilt habe, aber ich glaube, dass es einen effizienteren Weg gibt, es zu tun. Könnten Sie mir bitte helfen?
selectElement: Für das mit ul und li erstellte Menü sind JavaScript-Ereignisse definiert.
optionElement: Nachdem im selectElement-Teil eine Auswahl getroffen wurde, werden die Optionen innerhalb der Auswahl geladen und ich überprüfe, ob sie geladen wurden.
optionToSelect: Besteht aus den li-Elementen innerhalb des selectElement.
isLoadingExpected: Nach einigen Auswahlen erscheint eine Ladeanimation auf der Seite, die ich nicht verhindern konnte.
Hier ist das Video und was ich tun möchte (aus Datenschutzgründen unscharf): https://streamable.com/p47d93
selectItem(Elements.xxx.xPath, Elements.xxxOptions.xPath, aaa.bbb.xPath, 0);
`public static void selectItem(String selectElement, String optionElements, String optionToSelect, int isLoadingExpected) löst die Ausnahme {
aus
WebDriverWait waitElement = new WebDriverWait(chromeDriver, Duration.ofSeconds(10));
if (isLoadingExpected == 1) { waitElement.until(ExpectedConditions.visibilityOfElementLocated(By.className("loading"))); waitElement.until(ExpectedConditions.invisibilityOfElementLocated(By.className("loading"))); } WebElement selectWebElement = waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(selectElement))); waitElement.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath(optionElements), 1)); selectWebElement.click(); WebElement optionWebElement = waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(optionToSelect))); optionWebElement.click(); }`
Das obige ist der detaillierte Inhalt vonSelenium So warten Sie auf das Laden der Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!