2016-11-14 26 views
0
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); 

       } 
  • 我使用下面的代碼片段驗證元素的可視性沒有找到的元素來執行腳本。每當購買者的元素不存在時,硒就會花費太多時間,而不會繼續下一步。
  • 在上面的腳本中,catch塊正在打印消息「我的買家鏈接不顯示」,但未移動到腳本的後續步驟。

誰能幫我如何當硒

感謝,

Srinu

+0

你爲什麼要使用隱式等待? – GraveyardQueen

回答

1

使用FindElements而不是FindElement這樣的:

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

而且

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

感謝完成萌... – user3729477