使用分页(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");
请帮助! !提前感谢:)
实际上,该页面使用Ajax,所以我必须使用iFrame导航通过同一表格的每个页面。使用iFrame解决了我的目的。经过大量的研究,这个问题终于解决了。:)