編集:質問を更新しました。ループを 4 から 12 に増やすことができることはわかっていますが、for ループを 3 つに分けているのはそのためです。最初のループを繰り返した後、更新されたコードを見ることができるので、次の次の繰り返しに進むためにカルーセルをクリックする必要があります。- 申し訳ありませんが、コピー/貼り付け中にコードを見逃してしまいました。
行を繰り返し処理したいのですが、合計行数は 3 で、すべての行には 4 列あります。たとえば、次のようになります。
row 1 has 4 columns
row 2 has 4 columns
row 3 has 4 columns
3 つの個別の for ループを作成しましたが、コードは機能しますが、コードを改善する余地があると思います。3 つではなく 1 つのループにすることはできますか?
コードは次のとおりです。
//first row
for (int j = 0; j < 4; j++)
{
string _image = String.Format("id('gen{0}')/a[{1}]/img", j, "1");
string _text = String.Format("id('gen{0}')/a[{1}]", j, "2");
...........
WaitForElement(By.XPath(_text)).Click();
}
_carouselDot = String.Format("id('HomePage1_Carousel1')/div/ul/li[{0}]/a", 2);
WaitForElement(By.XPath(_carouselDot)).Click();
//second row
for (int j = 4; j < 8; j++)
{
string _image = String.Format("id('gen{0}')/a[{1}]/img", j, "1");
string _text = String.Format("id('gen{0}')/a[{1}]", j, "2");
...........
WaitForElement(By.XPath(_text)).Click();
}
_carouselDot = String.Format("id('HomePage1_Carousel1')/div/ul/li[{0}]/a", 3);
WaitForElement(By.XPath(_carouselDot)).Click();
//third row
for (int j = 8; j < 12; j++)
{
string _image = String.Format("id('gen{0}')/a[{1}]/img", j, "1");
string _text = String.Format("id('gen{0}')/a[{1}]", j, "2");
...........
WaitForElement(By.XPath(_text)).Click();
}