protected SelectElement GetSelectElement(By selector)
{
new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(c =>
{
try
{
new SelectElement(driver.FindElement(selector));
return true;
}
catch (StaleElementReferenceException)
{
return false;
}
});
return new SelectElement(driver.FindElement(selector));
}
Даже с этой функцией я все еще получаю устаревший элемент на обратной линии, не уверен, что еще нужно сделать, чтобы избежать устаревших элементов.selenium stale element C#
Действительно ли элементы присутствуют и не изменились? Причина, по которой вы получаете исключение устаревшего элемента, заключается в том, что DOM изменился без вашего WebDriver, зная об этом. –