我对此很陌生,我找到了一种方法来计算表中的行数,我的问题是我的代码只计算“可见”行,而不计算表中不存在的行。屏幕。
int rowcount = customMethods.driver.FindElement(By.XPath("/html[1]/body[1]/div[3]/div[1]/div[1]/div[1]/div[2]/div[3]/div[1]/div[1]/div[1]/div[1]/div[1]/table[1]/tbody[1]")).FindElements(By.TagName("tr")).Count();
这段代码为我返回了39行,但是有44行,在计数时看不到超出的行。
有帮助吗?
答案 0 :(得分:0)
您使用的absolute
xpath在自动化中是不可接受的,因为它会经常中断。使用相对的xpath。就像是
//table[@id='']/tbody/tr
或//table[@class='']/tbody/tr/
。请不要,您不必将id和class保留为空,而需要根据html
另一件事是您使用过tbody[1]
,这意味着您的表有两个tbody
,如果其余5 rows
属于其他tbody
,则可以这样做只需使用tbody
这可能会给您所有行,或者可能超过44
int rowcount = customMethods.driver.FindElements(By.XPath("/html[1]/body[1]/div[3]/div[1]/div[1]/div[1]/div[2]/div[3]/div[1]/div[1]/div[1]/div[1]/div[1]/table[1]/tbody/tr")).Count();
但是您的xpath应该是这样
int rowcount = customMethods.driver.FindElements(By.XPath("//table[@id='']/tbody/tr")).Count();