显示getAttribute(String)的内部循环未定义

时间:2017-09-07 07:12:31

标签: selenium selenium-webdriver

目前,我正在尝试从网站获取面包屑名称和链接。我正在编写代码以获取面包屑名称并且其工作完美但在我尝试获取面包屑链接时内部循环显示错误。

  

类型List

的方法getAttribute(String)未定义

Html代码在这里

<div class="breadCrumb listView" itemscope="" itemtype="http://schema.org/BreadcrumbList">
     <div itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
        <span class="separator">/</span>
        <a href="https://www.flipkey.com/" itemprop="item">
           <span itemprop="name">Home</span>
        </a>
     </div>
     <div itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
         <span class="separator">/</span>
         <a href="https://www.flipkey.com/vacation-rentals" itemprop="item">
            <span itemprop="name">Vacation Rentals</span>
         </a>
      </div>
      <div itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
          <span class="separator">/</span> 
             <a href="https://www.flipkey.com/united-states-vacation-rentals/g191/" itemprop="item">
               <span itemprop="name">United States</span>
              </a>
      </div>
      <div itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
          <span class="separator">/</span>
          <a href="https://www.flipkey.com/florida-vacation-rentals/g28930/" itemprop="item">
               <span itemprop="name">Florida</span>
          </a>
      </div>
 </div>

这是我的代码

   List<WebElement> Breadcrumblist=driver.findElements(By.xpath(".//*[@class='breadCrumb listView']/div/a/span"));
   List<WebElement>  crumblink=driver.findElements(By.xpath(".//*[@class='breadCrumb listView']/div/a"));
   for (WebElement Breadcrumb:Breadcrumblist ){

       String count=Breadcrumb.getText();

       String Crumblinktext=crumblink.getAttribute("href");
                   System.setOut(myconsole);
       myconsole.print(""+count+">");
       myconsole.print(""+Crumblinktext+",");


     }

此处显示错误

  

String Crumblink = crumblink.getAttribute(&#34; href&#34;);

     

getAttribute(String)未定义

不明白为什么会出现此错误。任何类型的建议都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

这可能是您的要求。

List<WebElement>  crumblink=driver.findElements(By.xpath(".//*[@class='breadCrumb listView']/div/a"));
for (WebElement Breadcrumb:crumblink){
    String count=Breadcrumb.findElement(By.tagName("span")).getText();
    String Crumblinktext=Breadcrumb.getAttribute("href");
    System.setOut(myconsole);
    myconsole.print(""+count+">");
    myconsole.print(""+Crumblinktext+",");
 }