Java 如何用相同的文本测试2个不同的链接?

Java 如何用相同的文本测试2个不同的链接?,java,testing,selenium-webdriver,Java,Testing,Selenium Webdriver,我正在测试网页上是否存在链接。为此,我正在测试ex“Selenium Videos”的特定文本是否在标记中。但是有两个相同的链接,比如--“如何掌握QTP?”,在第一页的菜单中,第二页在页面右侧的最近的免费在线研讨会中。我不知道如何测试这两个不同的链接有相同的链接文本。使用下面编写的函数,如果搜索第二个链接文本,它将返回true,但它将找到第一个链接文本。请帮忙 我使用以下函数来测试链接 public static String checkLink(WebDriver driver,String

我正在测试网页上是否存在链接。为此,我正在测试ex
“Selenium Videos”
的特定文本是否在
标记中。但是有两个相同的链接,比如--
“如何掌握QTP?”
,在第一页的菜单中,第二页在页面右侧的
最近的免费在线研讨会中。我不知道如何测试这两个不同的链接有相同的链接文本。使用下面编写的函数,如果搜索第二个链接文本,它将返回true,但它将找到第一个链接文本。请帮忙

我使用以下函数来测试链接

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
publicstaticstringchecklink(WebDriver驱动程序,stringlinktext)
{
//目的:检查文本链接是否可用
//ip:驱动程序、xPath、数据
尝试
{
列表链接=driver.findElements(按.tagName(“a”));
for(WebElement-we:links)
{
if(linkText.equals(we.getText()))
{
System.out.println(“excel中的链接文本为:“+linkText”);
System.out.println(“来自元素的链接文本为:+we.getText());
返回“通行证”;
}//如果
}//为了
}
捕获(例外e)
{
返回“失败”;
}//抓住
返回“失败”;
}//输入文本

使用xpath并在xpath中包含父元素或同级元素。您提到了两个不同的标签或描述,您可以在xpath中使用它们

是否需要为一个特定的网站fot???如果是,你能提供该网站的链接吗?@user1177636你说得对!谢谢大家。我在那个函数中添加了xPath,我可以找到那些链接。老实说,你是怎么从这个问题中得到这些的?我可以理解答案是否是使用适当的定位器,但为什么具体使用XPath?为什么需要在XPath中包含父级或同级?没有HTML你怎么知道呢?