我随机生成了表格。目前,我可以使用selenium.getTable(XPath)
获取表格单元格数据,但我无法更改该值。我的职责是:
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);
}
但是我无法将set方法编写为:
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);
}
这是在说
com.thoughtworks.selenium.SeleniumException:Element //div[@id='gridPShipsRel']/table/tbody/tr[2]/td/div/div/table.1.5 not found < / p>
有谁知道如何在selenium中设置表值?
答案 0 :(得分: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);
}
编辑:
通过查看您的导入com.thoughtworks.selenium.
我可以说您使用的是Selenium RC。我的解决方案是基于webdriver的
答案 1 :(得分:0)
对于你的set方法,尝试以这种方式给出xpath:
strXpath = "//div[@id='"+strGridId+"']/table/tbody/tr[2]/td/div/div/table/tbody/tr["+(nRowIndex + 1)+"]/td[" +(nCellIndex)+"]"