1
driver.findElement(By.id("btnSendMailCopy")).click(); 
Thread.sleep(3000); 
if(driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).isDisplayed()) 
{  
    driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).click(); 
    System.out.println("clicked"); 
} 
else if(driver.findElement(By.id("VendorCardHolderName")).isDisplayed()) 
{ 
    Select dropdown = new Select(driver.findElement(By.id("VendorTinCardType"))); 
    dropdown.selectByVisibleText("VISA"); 
    driver.findElement(By.id("VendorCardHolderName")).sendKeys("TestName"); 

Ohne zu verwenden, wenn sonst ich in der Lage war, will das Skript erfolgreich ausgeführt, aber wenn ich seine anderen Teil zeigt den Fehler alsBelow Wenn sonst einwandfreiem Zustand ist nicht in meinem Skript

konnte nicht ausfindig laufen Element: { "Methode": "XPath", "Selektor": "/ html/Körper/Abschnitt [1]/div/article/nav Taste/[2]"}

+0

Sieht aus, als ob es das Element in der If-Bedingung 'if (driver.findElement (By.xpath ("/ html/body/section [1]/div/artikel/nav/button [2]")) nicht findet. isDisplayed()) ', aber Sie erwähnen, dass der Fehler in der else-Anweisung auftaucht. Könnte es sein, dass es den 'Knopf [2]' nicht findet? –

Antwort

1

Wie Code, wenn das erste Element angezeigt wird, dann gehen Sie für Code in wenn, wenn das erste Element nicht angezeigt wird, dann gehen Sie für Code in sonst.

jetzt einfache Sache hier ist, wenn das erste Element nicht angezeigt wird, dann sicher, dass wir keine Element Ausnahme rechts erhalten? also müssen wir dies durch Versuch/fangen behandeln.

Boolean dd; 

try{ 
dd = driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).isDisplayed(); 
}catch(Exception e){ 
//you can print as element not displayed 
} 

dann gehen, wenn die Bedingung

if(dd==true){ 
    //do something 
    }else{ 
//do some thing else 
} 

danken Ihnen, Murali

+0

Hallo Murali, Ich habe versucht, oben Skript, aber seine Wurf Fehler in If-Bedingung als lokale Variable/Parameter/Feld für dd in If Zustand zu erstellen, und wenn ich Try/catch nicht verwendet, gab es keinen Fehler, um eine Variable für dd – Arun

+0

hey Entschuldigung zu erstellen Erstellen Sie Boolean dd als global und verwenden Sie es –

+0

Vielen Dank !!! Murali..Es hat geklappt..Jetzt kann ich das Skript ohne Probleme laufen lassen. Vielen Dank !! – Arun

0

Try-Code wie folgt: -

Boolean dd = driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).isDisplayed(); 

    if(dd==true) 
    {  
     driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).click(); 
     System.out.println("clicked"); 
    } 
    else{ 
     System.out.println("Element is not found"); 
    } 

Hoffe, es wird Ihnen helfen :)

+0

Ein bisschen Erklärung würde helfen. –

0

versuchen, diese

driver.findElement(By.id("btnSendMailCopy")).click(); 
    Thread.sleep(3000); 
    if(driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).size()>0) 
    {  
     driver.findElement(By.xpath("/html/body/section[1]/div/article/nav/button[2]")).click(); 
     System.out.println("clicked"); 
    } 
    else if(driver.findElements(By.id("VendorCardHolderName")).size()>0) 
    { 
     Select dropdown = new Select(driver.findElement(By.id("VendorTinCardType"))); 
     dropdown.selectByVisibleText("VISA"); 
     driver.findElement(By.id("VendorCardHolderName")).sendKeys("TestName"); 
} 

Es fällig Sie wirdangezeigt werden Überprüfung auf dieses Element gescheitert war, war Nicht verfügbar. Um das zu überwinden, müssen Sie versuchen, versuchen/fangen oder den Code, den ich zur Verfügung stellen. Sie sollten arbeiten.