2013-07-04 50 views
0

我在測試網頁是否存在鏈接。爲此,我正在測試如果"Selenium Videos"的特定文本是否在<a></a>標籤中。但有兩個相同的鏈接,例如 - "How to Master QTP?"在菜單中的頁面上,第二個在頁面右側的Recent free LIVE webinars。我不知道如何測試這兩個具有相同鏈接文本的不同鏈接。使用下面寫的函數,如果我正在搜索第二個鏈接文本,它將返回true,但它會找到第一個鏈接文本。請幫忙。如何用相同的文本測試2個不同的鏈接?

我正在使用以下函數來測試鏈接。

public static String checkLink(WebDriver driver,String linkText) 
    { 
     //purpose : check if the link for text is available 
     //ip: driver,xPath,Data 
     try 
     { 

     List <WebElement> links = driver.findElements(By.tagName("a")); 
     for(WebElement we : links) 
     { 
      if(linkText.equals(we.getText())) 
      { 
       System.out.println("Link text from excel is:" + linkText); 
       System.out.println("Link text from element is:" + we.getText()); 

       return "Pass"; 
      }//if 
     }//for 
    } 
    catch(Exception e) 
    { 
     return "Fail"; 
    }//catch 
    return "Fail"; 
}//enter text 
+0

是否需要爲1個特定的網站?如果是這樣,你能提供該網站的鏈接嗎? – Mathlight

+0

@ user1177636你是對的! –

+0

謝謝。我做的。 – user2467785

回答

0

使用xpath並在xpath中包含父代或同代元素。你提到了兩個不同的標籤或desc你可以在xpath中使用這些標籤

+0

謝謝大家。我在該函數中添加了xPath,並且我可以找到這些鏈接。 – user2467785

+0

老實說,你到底是怎麼從這個問題得到的?我可以理解,如果答案是使用適當的定位器,但爲什麼特定XPath?爲什麼需要在XPath中包含父級或兄弟?你怎麼知道沒有任何HTML? – Ardesco

相關問題