私はSeleniumの新機能で、ウェブサイトのページから画像を取得するための小さなプロジェクトを実行しようとしています。C#でSeleniumとウェブサイトのすべてのリンクを反復する方法
これは、foreachの2番目のloofでStaleElementReferenceExceptionをスローします。 if文に例外がスローされます。 GoToUrl()の後でGetAttribute()を使用することはできませんが、どのようにすべてのWebページを繰り返し処理するのですか?
driver.Navigate().GoToUrl("http://www.xxxxxxxx.com/"); // dummy web address
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
IList<IWebElement> results = driver.FindElements(By.CssSelector(".list-menu > li > ul > li > a"));
foreach (IWebElement result in results)
{
if (result.GetAttribute("href").Length>0) // It throws EXCEPTION here *******
{
driver.Navigate().GoToUrl(result.GetAttribute("href"));
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));
//serie-list-product-four-column
IList<IWebElement> gridResults = driver.FindElements(By.CssSelector(".serie-list-product-four-column > li > a"));
foreach (IWebElement gridResult in gridResults)
{
}
}
}