如何使用selenium webdriver验证页面中存在的行数

时间:2014-03-05 12:17:34

标签: selenium-webdriver

我有一个页面,其中存在行数并且它是动态的。 我想验证显示1到18行的文本。 但它不应该硬编码。 它应该返回实际存在的行数。

3 个答案:

答案 0 :(得分:0)

由于您已经提到了语言,我在C#中为您提供了一个示例,您可以执行以下操作

IWebElement location = Browser.Driver.FindElement(table locator));
                ReadOnlyCollection<IWebElement> totalRow = location.FindElements(By.TagName("tr"));

将给出存在的行数

totalRowtotalRow.Count;

如果您有更多帮助,请告诉我

答案 1 :(得分:0)

以下是使用Java的类似示例:

int rowCount = 0;
rowCount = driver.findElements(By.xpath("//table/tr").size();
System.out.println("number of rows: "+rowCount);

答案 2 :(得分:0)

首先,您应该抓住显示显示1到18行的计数的WebElement,并尝试使用正则表达式从字符串中捕获数字并将其存储在变量中。

要提取数字,您可以参考 - https://stackoverflow.com/a/2367418/2482430

稍后您可以找到基于合适的XPath或CSS Locator的所有可用元素,如下所示 List<WebElement> elements = driver.findElements(By.xpath("//table//tr"));

List<WebElement> elements = driver.findElements(By.cssLocator("table tr"));

最后你可以做如下的Assert,

Assert.assertTrue(elements.size() == totalRowsCount);