2014-04-10 5 views
1

나는 임의로 테이블을 생성했습니다. 현재 selenium.getTable(XPath)을 사용하여 표 셀 데이터를 가져올 수 있지만 그 값을 변경할 수는 없습니다. // DIV 요소 :셀레늄에서 테이블 데이터를 변경하는 방법

public static String getGridCellValue(Selenium selenium, String strGridId, int nRowIndex, int nCellIndex) 
{ 
    String strXPath = "//div[@id='"+strGridId+"']/table/tbody/tr[2]/td/div/div/table."+(nRowIndex + 1)+"."+(nCellIndex); 
    return selenium.getTable(strXPath); 
} 

그러나 나는이 설정 방법을 쓸 수 없습니다입니다 : 내 기능은 그것은

com.thoughtworks.selenium.SeleniumException을 말하는

public static void setGridCellValue(Selenium selenium, String strGridId, int nRowIndex, int nCellIndex, String strValue) 
{ 

    String strXPath = "//div[@id='"+strGridId+"']/table/tbody/tr[2]/td/div/div/table."+(nRowIndex + 1)+"."+(nCellIndex); 
    selenium.type(strXPath, strValue); 
} 

[@ id = 'gridPShipsRel']/table/tbody/tr [2] /td/div/div/table.1.5 찾을 수 없음

셀레늄에서 테이블 값을 설정하는 방법을 알고 있습니까?

+2

이 도움이 될 것입니다 : 내 솔루션은 webdriver XPath는이 방법을 제공하려고 귀하의 설정 방법 –

+1

'WebDriver'는'getTable' 함수를 가지고 있지 않습니다. 실제로'WebDriver'를 사용한다면'Selenium' 객체가 아닌 그것을 사용하십시오. –

+0

'com.thoughtworks.selenium.'은 Selenium RC – xyz

답변

3

strXPath = "//div[@id='"+strGridId+"']/table/tbody/tr[2]/td/div/div/table."+(nRowIndex + 1)+"."+(nCellIndex)이 셀을 검색하는 방법을 모릅니다. 당신은 방법을 다음 수있는 HTML 또는

추가,이 셀 값을

public String updateCell(By identifier, int romNumber, int columnNumber, String value) 
{ 
    WebElement table = driver.findElement(identifier); 
    List<WebElement> rows = table.findElements(By.xpath("tbody/tr")); 
    List<WebElement> cells = rows.get(romNumber).findElements(By.tagName("td")); 
    WebElement desiredCell = cells.get(columnNumber); 
    desiredCell.setText(value); 
} 

편집을 업데이트합니다 : 을 당신이 셀레늄 RC를 사용하고 있는지 말할 수있는 당신의 수입 com.thoughtworks.selenium.보고. 당신은 셀레늄 WebDriver`하지만 코드 '태그가 있기 때문에, 당신은 당신이 사용하고있는 셀레늄 말할 수 있다면

strXpath = "//div[@id='"+strGridId+"']/table/tbody/tr[2]/td/div/div/table/tbody/tr["+(nRowIndex + 1)+"]/td[" +(nCellIndex)+"]" 
0

을 기반으로 `Selenium RC`를 사용하고 있음을 나타냅니다.
관련 문제