Ich versuche, auf eine Schaltfläche klicken, die auf einer Seite durch die Verwendung sichtbar ist WebDriver warten aber WebDriver nur in der Lage ist, auf der Schaltfläche klicken, sobald ich ein
Thread.sleep
, um den Code hinzuzufügen.WebDriver Wait ‚.bis (ExpectedConditions.elementToBeClickable‘ funktioniert nur, wenn i Thread.sleep (500) auf den Code hinzufügen?ich habe überprüft auch auf die Schaltfläche, um zu sehen, ob seine sichtbar (True), bevor ich meinen Code ausführen und es wiederum
returns = true
.
// Taste der Sichtbarkeit des Check:
List<WebElement> signOutList = driver.findElements(.xpath(".//*[starts-with(@id,'fulfillment-time-type-section-')]/div[2]//button"));
Assert.assertTrue(signOutList.size() > 0);
// Der folgende Code nicht klickt auf die Schaltfläche
By timeDropdownButton = By.xpath(".//*[starts-with(@id,'fulfillment-time-type-section-')]/div[2]//button");
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.elementToBeClickable(timeDropdownButton));
myDynamicElement.click();
// Der Code unten auf die Schaltfläche Ist klicken:
Thread.sleep(500);
By timeDropdownButton = By.xpath(".//*[starts-with(@id,'fulfillment-time-type-section-')]/div[2]//button");
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.elementToBeClickable(timeDropdownButton));
myDynamicElement.click();
Bitte beachten Sie, dass ich auch versucht habe, mit JS-Code und WebDriver-Aktionen usw. auf die Schaltfläche zu klicken.
Ich weiß nicht, warum "Wait Clickable" nur funktioniert, wenn ich mit "Thread.sleep" kombiniere?
The button I'm trying to click
haben Sie mit einer Erhöhung der Zeit von 10 Sekunden bis mehr versucht .. ??? –
Hallo Saurabh, habe ich versucht, den folgenden Code, aber es immer noch nicht funktioniert hat (geändert 10-1000): \t \t \t \t WebElement myDynamicElement = (neu WebDriverWait (Fahrer, 1000)) – Gbru
Versuchen Sie einmal mit 'ExpectedConditions.visibilityOfElementLocated'..and lass es mich wissen .. –