Мне нужна помощь, потому что я продолжаю получать ссылку StaleElementReference, когда пытаюсь проанализировать список тегов для щелчка.
То, что я сделал, находится на земле страницы, я перебираю страницу и генерирую список объектов<> со всеми тегами a
private List<IWebElement> _pageLinks;
public List<IWebElement> pageLinks
{
get
{
if (_pageLinks == null)
{
_pageLinks = InfoDriver.FindElements(By.TagName("a")).ToList();
}
return _pageLinks;
}
}
Затем я хочу проанализировать этот список и щелкнуть по каждому из них, а затем вернуться на страницу, на которую ссылались.
private static SeleniumInformation si = new SeleniumInformation(ffDriver);
si.pageLinks.ForEach(i =>
{
i.Click();
System.Threading.Thread.Sleep(1000);
ffDriver.Navigate().Back();
});
Происходит следующее: после первого щелчка он переходит на новую страницу, а затем возвращается на начальную страницу, но не может получить следующую ссылку.Я попытался установить его для статического элемента, установить вспомогательное поле так, чтобы он проверял, есть ли там данные, но кажется, что при щелчке IwebElement теряет список и не перестраивает список, так что я получаюисключение StaleElementReference не обработано и элемент не найден в кэше.
Это ошибка в Selenium с классом IWebElement или я что-то не так делаю?Любая помощь будет принята с благодарностью.