2013-01-01 153 views
0

我在爲分頁測試自動執行時遇到問題。 我的代碼能夠遍歷第一頁上的表格,並且如果'搜索元素未找到',還能夠單擊下一頁。但是,問題在於,對於第二頁,它沒有保存/獲取表格的數據。儘管所使用的表的Class對於所有頁面都是靜態的。 請幫助我解決這個問題。這是我的大塊代碼:使用分頁(Selenium webdriver C#)

IWebElement pagingInfo = webDriver.FindElement(By.ClassName("Dj")); //Getting text from Page info in the form of "1-emailsPerPage of totalNumberOfEmails" 
string[] stringArray = pagingInfo.Text.Split(' '); 
int totalNumberOfEmails = Convert.ToInt32(stringArray[2]); 
int emailsPerPage = Convert.ToInt32(stringArray[0].Substring(2)); 
int clickCount = totalNumberOfEmails/emailsPerPage; 

for (int i = 0; i <= clickCount; i++) 
{ 
    IWebElement tableInbox = webDriver.FindElement(By.ClassName("Cp")).FindElement(By.ClassName("F")); 
    IList<IWebElement> rowsCollection = tableInbox.FindElements(By.TagName("tr")); 

    foreach (IWebElement row in rowsCollection) 
    { 
     IList<IWebElement> columnCollection = row.FindElements(By.TagName("td")); 
     if (columnCollection[5].Text.Contains("Fwd: Security")) 
     { 
      Console.WriteLine("Record found"); 
      recordFound = true; 
      break; 
     } 
    } 
    if (recordFound == true) 
     break; 
    webDriver.FindElement(By.ClassName("ar5")).FindElement(By.ClassName("amJ")).Click(); 
    Thread.Sleep(5000); 
} 

if (recordFound == true) 
    Console.WriteLine("Record Found"); 
else 
    Console.WriteLine("Record Not Found"); 

請幫忙!!在此先感謝:)

+0

N你得到什麼錯誤? –

+0

我沒有得到任何錯誤,只是當我在調試模式下運行我的測試,然後爲第二頁,沒有文本存在tableInbox,因此無法搜索所需的字符串(元素未找到)。 – Adi

回答

0

實際上,頁面正在使用Ajax,所以我必須使用iFrame瀏覽每頁的同一張表。 使用iFrame解決了我的目的。 經過大量研究,問題終於得到解決。 :)