2016-11-14 6 views
0
in Selen gefunden
WebElement Find=null; 
       Find=driver.findElement(By.xpath("//*[@id='headerapp']/div/div/ul/li[2]/a")); 
       if(Find!=null && Find.isDisplayed()){ 
       Actions action=new Actions(driver); 
       action.moveToElement(Find).build().perform(); 
       driver.findElement(By.xpath("//*[@id='headerapp']/div/div/ul/li[2]/ul/li[1]/a")).click(); 
       driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS); 
       } 
       Thread.sleep(2000); 
       WebElement mybuyers=null; 
       try{ 
       mybuyers=driver.findElement(By.xpath("//a[contains(., 'My Buyers')]")); 
       if(mybuyers!=null && mybuyers.isDisplayed()){ 
        Actions action=new Actions(driver); 
        action.moveToElement(mybuyers).build().perform(); 
        mybuyers.click(); 
        driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS); 
       } 
       }catch(Exception e){ 
        System.out.println("My Buyers link is not displayed"); 
       } 
       finally{ 
        driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS); 
       } 
       Thread.sleep(2000); 
       WebElement mylisting=null; 
       try{ 
        mylisting=driver.findElement(By.xpath("//a[contains(., 'My Listing')]")); 
       if(mylisting!=null && mylisting.isDisplayed()){ 
        Actions action=new Actions(driver); 
        action.moveToElement(mylisting).build().perform(); 
        mybuyers.click(); 
        driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS); 
       } 
       }catch(Exception e){ 
        System.out.println("My Listing link is not displayed"); 
       } 
       finally{ 
        driver.manage().timeouts().implicitlyWait(15000, TimeUnit.SECONDS); 

       } 
  • ich den folgenden Code-Schnipsel bin mit der Sichtbarkeit eines Elements zu überprüfen. Wann immer das Mybuyers-Element nicht vorhanden ist, braucht Selen zu viel Zeit und setzt den nächsten Schritt nicht fort.
  • Im oben genannten Script druckt catch block die Nachricht "My Buyers link wird nicht angezeigt", bewegt sich aber nicht zu den nächsten Schritten des Skripts.

Kann jemand bitte helfen Sie mirwie Skript auszuführen, wenn das Element nicht

Danke,

Srinu

+0

Warum verwenden Sie eine implizite Wartezeit? – GraveyardQueen

Antwort

1

Verwenden FindElements statt FindElement wie folgt aus:

Boolean isMyBuyersPresent = driver.findElements(By.yourLocator).size() > 0 

Und

if(isMyBuyersPresent) 
{ 
    //You can re-find as below, or refactor the code and 
    //create a list in the above snippet and grab the first element here 

    mybuyers= driver.findElements(By.yourLocator) 
} 
+0

Danke Fertig Moe ... – user3729477

Verwandte Themen