xpath查找具有相同域内重定向的元素

时间:2016-01-06 10:30:38

标签: selenium xpath

我正在尝试编写xPath,用于标识域中页面上的所有链接。

例如:我想在http://www.yahoo.com页面上找到一个xPath,它突出显示在同一个yahoo域中重定向的页面上的所有超链接。

我正在使用

.. Name
.. Name2
.. Name3

但并未突出显示所有链接。 我应该做些什么改动?

3 个答案:

答案 0 :(得分:0)

试试这个//a[contains(@href,'yahoo.com')]

答案 1 :(得分:0)

您必须检查在未突出显示的内容与突出显示的内容之间存在哪些DOM差异。 据我了解,您正在寻找与我们联系的所有链接。域名,根据您的要求尝试以下内容:

//a[contains(@href,'yahoo.com/us')] 
or //a[contains(@href,'/us')]

答案 2 :(得分:0)

这对我来说很好

        driver.get("http://www.yahoo.com/");

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        List<WebElement> list=driver.findElements(By.xpath("//*[@href or @src]"));

        for(WebElement e : list){
               String link = e.getAttribute("href");
               if(null==link)
                   link=e.getAttribute("src");

           if(link.contains("https://s.yimg.com/"))
           System.out.println(e.getTagName() + "=" + link);
       }

希望它会对你有所帮助:)。