2012-11-02 82 views
1

僅當列1和列7的值與表中的特定行匹配時,才需要選擇列值。行數是動態的,有8列。無法從webdriver中的特定行獲取列數據

這是我的代碼:

WebElement session_table = driver.findElement(By.id("sessions_table")); 
    List<WebElement> session_row = driver.findElements(By.tagName("tr")); 
    System.out.println(session_row.get(2).findElement(By.xpath("//td[2]")).getText()); 
    Iterator<WebElement> i= session_row.iterator(); 
    while(i.hasNext()) 
    { 
     WebElement srow= i.next(); 
     List<WebElement> session_data = srow.findElements(By.xpath("//td")); 
     stime = session_data.get(0).getText(); 
    coach_name = session_data.get(6).getText(); 
     System.out.println(stime + " " + coach_name); 
     if((stime == "11/02/12 07:30 AM") && (coach_name == "Test Coach1") ) 
     { 
      driver.findElement(By.xpath("(//a[contains(text(),'0/4')])")).click(); 

     } 


    } 

但變量STIME和coach_name分配第一行的值。它不會隨着迭代而改變。例如,如果第一行的值爲「07:00 AM」,教練姓名爲Test並且有80行,則打印「07:00 AM Test」80次。但我需要讀取每行的值。注意:我使用selenium webdriver和java

+0

我主要關心的是我需要從每一行讀取數據。如果一行的第1列和第7列的值與條件匹配,則需要單擊第8列中的鏈接。 – Nithya

+0

我在以下鏈接中找到了我的問題的答案 http://stackoverflow.com/questions/7180243/selenium -2-can-findelementby-xpath-scope-to-a-particular-element – Nithya

+0

[Selenium 2 - Can findElement(By.xpath)可能重複的範圍是某個特定元素?](http:// stackoverflow。問題/ 7180243/selenium-2-can-findelementby-xpath-scope-to-a-particular-element) –

回答

1

爲了比較String對象,您需要使用equalscompareTo方法,而不是==。使用==您正在比較對象引用。

+0

感謝您的信息。 – Nithya

+0

@Nithya不客氣。 – dan

相關問題