0

Nach dem Klicken auf Speichern Schaltfläche öffnet sich ein Pop und ich schreibe einen Code unten zu akzeptieren, aber es funktioniert nicht.Probleme in Alertbox Selen 3.0

`driver.findElement(By.id("save")).click(); 
    Alert succ=driver.switchTo().alert(); 
    System.out.println(succ.getText()); 
    Thread.sleep(2000); 
    succ.accept();` 

enter image description here

Benötigen Sie Hilfe.

+0

Erhalten Sie den Text der Warnung. kannst du den Snap des Popups hinzufügen – NarendraR

+0

füg einige hinzu, nachdem du auf den Speichern Button geklickt hast und dann den Alarm aktivierst. Dies kann Trick tun – NarendraR

+0

hinzugefügt 'driver.manage(). timeouts(). implicitlyWait (20, TimeUnit.SECONDS);' aber es funktioniert nicht. –

Antwort

1

Das Verhalten von Selen ist je nach Browser, in einigen Fällen die Aktionen in Firefox Browser wie Formularaktionen Füllen erfolgen oder durch Klicken auf die Schaltfläche wird schneller als Chrome-Browser, damit Ihr Skript gut ausgeführt in Chrome aber werfen Fehler in Firefox, so müssen Sie einige Pause hinzufügen, um sie gut zu machen.

Also in Ihrem Fall nach dem Selen speichern Schaltfläche zu schnell der Befehl ausgeführt wird, so überspringen in Alarmbereitschaft schalten und akzeptieren, so fügen Sie einige Thread.sleep(); mit warten Pause

driver.findElement(By.id("save")).click(); 
Thread.sleep(2000); 
Alert succ=driver.switchTo().alert(); 
System.out.println(succ.getText()); 
Thread.sleep(2000); 
succ.accept(); 

Hinweis zu machen: Es wird nicht empfohlen, Verwenden Sie stattdessen Thread.sleep(); verwenden Sie implizite oder explicitwait Bedingungen

WebDriverWait wait = new WebDriverWait(driver, 60); 
wait.until(ExpectedConditions.alertIsPresent()); 
0

Versuchen Sie folgendes:

driver.findElement(By.id("save")).click(); 
try { 
    Thread.sleep(3000); 
} catch (InterruptedException e) { 
    e.printStackTrace(); 
} 
System.out.println(driver.switchTo().alert().getText()); 
driver.switchTo().alert().accept(); 
+0

Vielen Dank, dass es funktioniert hat. Bitte erläutern Sie den Schritt für mich. –

+0

1. Zuerst klicken wir auf das benötigte Element. 2. Als zweites müssen wir auf unser Element warten, das auf unserer Seite voll gerendert ist - dazu schreiben wir 'Thread.sleeps (milisec)'. 3. Danach sind wir sicher, dass unser Element auf der Seite vorhanden ist und wir alle Manipulationen mit ihm machen können. – PrinceOFF

Verwandte Themen