从上面的图片中我添加的新数据被添加到最后一页,但可能有类似的名称,我需要使用ID验证数据,如图所示。所以我试图找出从id存储文本值的方法,并且当添加新数据时,它应该验证最后新添加的ID。有任何想法吗?
int i = 1;
bool found = false;
string ID;
try
{
IWebElement LastPage = Driver.driver.FindElement(By.XPath("html/body/div[4]/div/div/div[2]/table/tbody/tr[8]/td[1]"));
LastPage.Click();
for (i = 1; i <= 10; i++) ;
{
ID= Driver.driver.FindElement(By.XPath("html/body/div[4]/div/div/div[2]/table/tbody/tr[" + i + "]/td[1]")).Text;
if (??)
}
答案 0 :(得分:4)
正如@ viet-pham所说,使用last是一个好主意,你也可以使用相对的xpath,如:
//table/tbody/tr[last()-1]/td
并且您不需要使用[1]
,因为您使用的是FindElement
而不是FindElements
,并且正在返回找到的第一个元素。
答案 1 :(得分:0)
您不需要使用for循环来获取最后一项,只需将last()设置为选择最终的 tr元素
在您的情况下:
IWebElement lastElement = Driver.driver.FindElement(By.XPath("(html/body/div[4]/div/div/div[2]/table/tbody/tr)[last()]/td[1]"));
ID = lastElement.Text;
另外:因为最后一行是总数,所以你必须更改为它之前的行=&gt; [最后() - 1]