我对此很陌生,我找到了一种计算表中行数的方法,我的问题是我的代码只计算"可见"行,而不是表中不在屏幕的行。
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 行,在计数时超出的行不可见。
有什么帮助吗?
-
您正在使用
,您需要根据您的html放置absolute
xpath,这在自动化中是不可接受的,因为它会经常中断。 使用相对路径。类似的东西//table[@id='']/tbody/tr
或//table[@class='']/tbody/tr/
.请不要将id和类留空 -
另一件事是您使用了
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();