我有一个用C#编写的自动脚本,用于将数据添加到似乎正常工作的表中,现在想要创建一个测试清理来删除已输入的所有数据。
我想循环查看表格,删除所有可见的条目。
表格中的删除图标包含以下HTML -
<a class="dxbButton_Office2010Silver dxgvCommandColumnItem_Office2010Silver dxgv__cci dxbButtonSys" data-args="[['Delete',0],1]" id="GridView_ExchangeHolidays_DXCBtn2" href="javascript:;" style="font-size: 0pt;"><img title="Delete" class="dx-vam" src="/Images/deletegray.png" alt="Delete" style="height:16px;width:16px;" id="GridView_ExchangeHolidays_DXCBtn2Img"></a>
按钮的XPath是 -
第一个按钮 - // * [@ id =“GridView_ExchangeHolidays_DXCBtn2Img”]
下一个按钮 - // * [@ id =“GridView_ExchangeHolidays_DXCBtn4Img”]
依旧......
有什么想法吗?我最初的想法是计算存在多少行,然后对于每个条目,单击删除按钮,但只是不知道如何去做。一些东西 -
int rowCount = driver.FindElements(By.XPath("//*[@id='GridView_ExchangeHolidays_DXMainTable']/tbody/tr")).Count;
for(int i=0; i<rowCount; i++)
{
//Code to delete rows here
}
答案 0 :(得分:0)
如果删除的图像是动态的,则代码将不起作用
int rowCount = driver.FindElements(By.XPath("//*[@id='GridView_ExchangeHolidays_DXMainTable']/tbody/tr")).Count;
for(int i=0; i<rowCount; i++)
{
driver.findelement(By.Xpath(".//*[@class='dxbButton_Office2010Silver dxgvCommandColumnItem_Office2010Silver dxgv__cci dxbButtonSys']")).click();
//if delete conformation presents handle using alert method.
}
答案 1 :(得分:0)
我认为你正在遵循正确的方法。你应该继续这样做。请在下面找到您可以在代码中添加的代码段。
int rowCount = driver.FindElements(By.XPath("//*[@id='GridView_ExchangeHolidays_DXMainTable']/tbody/tr")).Count;
for(int i=0; i<rowCount; i++)
{
driver.FindElement(By.xpath("//*[@id='GridView_ExchangeHolidays_DXMainTable']/tbody/tr[i]/img[@title='Delete']/..a]")).Click();
}
答案 2 :(得分:0)
首先,您需要计算删除的行数,然后对删除按钮上的每个条目调用Click()
进行计算,如下所示:
int rowCount = driver.FindElements(By.XPath("//a[@class='dxbButton_Office2010Silver dxgvCommandColumnItem_Office2010Silver dxgv__cci dxbButtonSys']/img[@class='dx-vam' and starts-with(@id,'GridView_ExchangeHolidays_DXCBtn')]")).Count;
for(int i=0; i<rowCount; i++)
{
driver.FindElement(By.xpath("//a[@class='dxbButton_Office2010Silver dxgvCommandColumnItem_Office2010Silver dxgv__cci dxbButtonSys']/img[@class='dx-vam' and starts-with(@id,'GridView_ExchangeHolidays_DXCBtn')]")).Click();
}