1

我的应用程序有一个多行网格。这些行具有编辑选项,可加载另一个页面以更新个人信息。行编辑图标 ID 为:

"ctl00_ContentPlaceHolder1_grdEmployeeMaster_ctl00_ctl20_EditButton"

如果我们单击此图标,个人页面将打开。"ctl00_ContentPlaceHolder1_grdEmployeeMaster_ctl00_ctl21_txtFirstName"个人页面中的元素以编辑图标 id开头 。

问题是我可以单击带有表 ID 概念的编辑图标。命令是:

selenium.click("//table[@id='ctl00_ContentPlaceHolder1_grdEmployeeMaster_ctl00']
//tr[td[.='"kannan"']]/td/input[@type='image']");

但我无法获得编辑图标的 ID。

如果我获得了编辑图标的 ID,我可以通过在编辑图标 ID 中添加“1”来轻松更改个人页面元素 ID。

我该如何解决这个问题?

4

2 回答 2

0

你可以这样做:

  public ArrayList<String> IdsOfEditOption()
{
   WebElement table =driver.findElement(By.id("ctl00_ContentPlaceHolder1_grdEmployeeMaster_ctl00"));
   WebElement tbody=table.findElement(By.tagName("tbody"));
   List<WebElement> rows=tbody.findElements(By.tagName("tr"));
   ArrayList<String> ListOdIds=new ArrayList<>();

   for(int i=0;i<rows.size();i++)
   {
     WebElement EditOption = tbody.findElement(By.xpath("//table[@id='ctl00_ContentPlaceHolder1_grdEmployeeMaster_ctl00']/tbody/tr["+(i+1)+"]/td"));
     String EditOptionId=EditOption.getAttribute("id");
     ListOdIds.add(EditOptionId);
   }

   return ListOdIds;
}
于 2014-06-19T07:03:59.543 回答
0

仅使用 id

selenium.click("ctl00_ContentPlaceHolder1_grdEmployeeMaster_ctl00");
于 2013-07-30T06:29:33.987 回答