2014-09-23 94 views
0

我有一些問題定位元素融入到一個網頁是這樣的:Selenium Java如何定位元素問題?

<tr id="filter100" style="...." idx=0 
    <td> 
     <div onclick=... style=... 
     <table dir = "fil"> 
      <tbody> 
      <tr> 
       <td> 
       <img id="imgFil100_1" src="//path..." 
       <td> 
       <td> 
       <img id="imgFil100_2" src="//path..." 
       <td> 
       <td> 
       <img id="imgFil100_3" src="//path..." 
       <td> 

,我有很多按鈕以這種方式「filterXXX」。我如何找到他們並點擊它們。

我寫了這個代碼

List<WebElement> lc = driver.findElements(By.cssSelector("table[id*='imgFil']")); 
    for (int i = 0; i <= lc.size(); i++) { 
    lc.get(i).click();} 

順便說一句對不起,我的英語水平。

+0

您的cssSelector正在查詢'table'元素與id匹配。你也許應該重新編寫你的cssSelector來查找id匹配的所有'img'元素。 – 2014-09-23 22:07:08

+0

列表 lc = driver.findElements(By.cssSelector(「table [id * ='filter']」));對於(int i = 0; i <= lc.size(); i ++){ lc.get(i); driver.findElements(by.WHAT?(「[id * ='imFill'[」);}通過我應該找到什麼元素? – Yoz 2014-09-24 06:07:11

回答

0
List<WebElement> lc = driver.findElements(By.cssSelector("table[id*='filter']")); 

for (WebElement row : lc) { 
    List<WebElement> images = row.findElements(By.tagName("img")); 

    for (WebElement image : images) { 
    image.click(); 
    } 
} 
+0

謝謝你的幫助。但是我不能找到它的工作。沒有錯誤。沒有找到元素 – Yoz 2014-09-25 09:31:47

+0

你的意思是圖像列表是空的嗎?你可以嘗試: 列表 images = row.findElements(By.xpath(「.// img」)); – 2014-09-25 19:58:44

+0

這是頁面的所有層次結構bottom-> up:td [img's] - > tr-> table-> div-> td-> tr-> table-> table-> iframe-> form ...更準確一些,我應該在定位元素之前改變幀嗎? – Yoz 2014-09-26 08:08:04