Selenium C# - 如何获取表的总行数?



我对此很陌生,我找到了一种计算表中行数的方法,我的问题是我的代码只计算"可见"行,而不是表中不在屏幕的行。

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 行,在计数时超出的行不可见。

有什么帮助吗?

  • 您正在使用absolutexpath,这在自动化中是不可接受的,因为它会经常中断。 使用相对路径。类似的东西//table[@id='']/tbody/tr//table[@class='']/tbody/tr/.请不要将id和类留空

    ,您需要根据您的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();

相关内容

  • 没有找到相关文章

最新更新