使用分页(Selenium webdriver c#)

本文关键字:webdriver Selenium 分页 | 更新日期: 2023-09-27 17:50:10

我在自动化分页测试时遇到了一个问题。我的代码能够通过表在第一页上迭代,也能够单击下一页,如果"搜索元素未找到"。但是,问题是,对于第二页,它不持有/获取表的数据。尽管对所有页面使用的表类是静态的。请帮我度过这个难关。下面是我的代码:

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");

请帮助! !提前感谢:)

使用分页(Selenium webdriver c#)

实际上,该页面使用Ajax,所以我必须使用iFrame导航通过同一表格的每个页面。使用iFrame解决了我的目的。经过大量的研究,这个问题终于解决了。:)