2014-06-27 26 views
0

我是新來的selenium,並且在使用WebDriver(Java)在網頁上查找特定元素時遇到問題。我試圖引用的特定元素是鏈接,但沒有與它們關聯的任何ID /其他XML屬性。我無法訪問HTML源代碼,因此我無法將任何標識符添加到元素中。我不完全確定使用FindBy函數可以做什麼和不可以做什麼,所以有人可以看看HTML並告訴我如何找到指定的元素(最終目標是使用WebElement.Click ()方法)。使用Selenium WebDriver引用未命名的元素

<div class="col-md-12"> 
    <h3>My Registered Cards</h3> 
    <div id="cards" class="row list-group"> 
     <div> 

此行

  <a href="/website/carddetails?cardnumber=1"> 

此行

   <div class="tile col-md-3 img-rounded"> 
        <div class="tile-inner"> 
         <img class="group list-group-image col-md-12 hidden-xs hidden-sm" src="http://placehold.it/200x100/000/fff" alt=""> 
         <div> 
          <div class="row"> 
           <h4 class="group inner list-group-tile-heading col-xs-12 col-md-12">Card Name</h4> 
          </div> 
         </div> 
        </div> 
       </div> 
      </a> 

     </div> 
     <div> 

此行

  <a href="/website/carddetails?cardnumber=2"> 

此行

   <div class="tile col-md-3 img-rounded"> 
        <div class="tile-inner"> 
         <img class="group list-group-image col-md-12 hidden-xs hidden-sm" src="http://placehold.it/200x100/000/fff" alt=""> 
         <div> 
          <div class="row"> 
           <h4 class="group inner list-group-tile-heading col-xs-12 col-md-12">Card Name</h4> 
          </div> 
         </div> 
        </div> 
       </div> 
      </a> 

     </div> 
    </div> 
</div> 

我已經嘗試做了幾個不同的方式,但webdriver的沒有發現在這兩種情況下正確的元素。

@FindBy(linkText = "Card Name") 
    public List<WebElement> cards; 

@FindBy(xpath = "//div[@id='cards']/div/@a") 
    public List<WebElement> cards; 

編輯:感謝SiKing 不正是我一直在尋找,但你沒有點我的方向是正確的答案。

我居然落得這樣做

@FindBy(xpath = "//div[@id='cards']/div/a") 
    public List<WebElement> cards; 

如果現在還不清楚,我試圖做的是讓網站上的所有卡(具體而言,卡鏈接)的列表,我可以再點擊序列

回答

0

的選擇

@FindBy(linkText = "Card Name") 

是要發現什麼,因爲它看起來該文本封裝在一個a標籤。

@FindBy(xpath = "//div[@id='cards']/div/@a") 

正在尋找的元素div的屬性a,元素div具有屬性id='cards'下的選擇...所以不是你想要什麼任。

你可能想:

@FindBy(xpath = "//div[@id='cards']//a") 

這將找到下div與屬性id='cards'第一a元素。

嘿,如果一切都失敗了,請嘗試文檔。 :)

+1

不 「的鏈接文字中找到」 只錨標記,而不是H4標籤工作? – djangofan

+0

@djangofan是的,你是對的。 – SiKing

相關問題