0

ページネーションのテストを自動化しているときに問題に直面しています。私のコードは、最初のページのテーブルを反復処理でき、「検索要素が見つからない」場合は次のページをクリックすることもできます。しかし、問題は、2 番目のページがテーブルのデータを保持/取得していないことです。使用されるテーブルのクラスはすべてのページで静的ですが。これを手伝ってください。ここに私のコードの塊があります:

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

助けてください!!前もって感謝します :)

4

1 に答える 1

0

実際、ページはAjaxを使用しているため、各ページの同じテーブルをナビゲートするにはiFrameを使用する必要があります。iFrameを使用すると、私の目的が解決します。たくさんの研究を重ねた結果、ようやく問題は解決しました。:)

于 2013-01-03T07:57:08.033 に答える