2014-11-01 241 views
-4

我在下一頁獲取元素<i class="angle-up"></i>時遇到問題。選擇應取決於"data-id"值。提前致謝。WebDriver:通過CSSSelector或XPath查找元素

<li class="recent" data-to="3" data-off="23" data-id="5"> 
    <a class="collapse in" href="/board"> 
     <span> 
      Board 
     </span> 
     <i class="angle-up"></i> 
    </a> 
</li> 
<li class="" data-to="3" data-off="23" data-id="7"> 
    <a class="collapse in" href="/set"> 
     <span> 
      Set 
     </span> 
     <i class="angle-up"></i> 
    </a> 
</li> 

回答

0

嗯,我想如果值數據-ID依賴,那麼你可能需要將XPath或CSS選擇3個部分,如下分割:

第一部分= //李[@ data_id = ] // I [@類= '角向上 ']

'

2部分=

第三部分=(使用適當的變量取在運行時該值)'

,現在你可以使用下面的代碼使用元素

public class TestElement { 

    public static void main(String args[]) 
    { 
     WebDriver driver= new FirefoxDriver(); 
     driver.get(YOUR INTERNAL URL HERE.); 

     String elementPart1=//li[@data_id=' 
     String elementPart2=5  //keeping the id you are looking for 
     String elementPart3=']//i[@class='angle-up'] 

     WebElement element = driver.findElement(By.xpath(elementPart1+elementPart2+elementPart3); 

    } 
} 

在這裏,你可能會看到這樣的XPath的一個例子是

//li[@data_id='5']//i[@class='angle-up'] 

另外,如果我會建議你使用檢查firefinder這是一個firebug擴展名,用於驗證xpath是否正確。

+1

作品。感謝幫助! – 2014-11-01 02:25:03

相關問題