2016-11-14 56 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