2014-03-05 68 views
3

我有一個頁面,其中存在行數並且它是動態的。 我想驗證顯示1到18行的文本正在顯示。 但它不應該被硬編碼。 它應該返回實際存在的行數。如何使用selenium webdriver驗證頁面中存在的行數

+1

如果您確實希望得到答案,那麼我強烈建議您添加以下內容:1.迄今爲止已實施的代碼。 2.您使用的語言(如果您的代碼不明顯)。 3.您嘗試訪問的網頁的URL,或者至少該網頁中相關的HTML片段的URL。 –

回答

0

既然你提到的語言,我給你在C#中的例子,你做以下

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

會給目前

totalRowtotalRow.Count; 

行數如果你多一些幫助,讓我知道

0

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

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

首先,您應該抓取顯示的計數的WebElement,顯示1到18行,並嘗試使用正則表達式從字符串中捕獲數字並將其存儲在變量中。

對於提取數量,你可以參考 - https://stackoverflow.com/a/2367418/2482430

後來你可以找到基於適合XPath或CSS定位所有可用的元素,如下 List<WebElement> elements = driver.findElements(By.xpath("//table//tr"));

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

最後你可以做如下的斷言,

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

相關問題