Я новичок в C # и Selenium WebDriver.Я пытаюсь выбрать значение из раскрывающегося списка, войти в приложение и проверить успешность входа в сценарий и пытаюсь повторить один и тот же фрагмент кода для всех параметров раскрывающегося списка.
Как получить все значения / параметры из выпадающего списка и просмотреть эти значения?
Я получаю сообщение об ошибке ниже Сообщение в строке
String timeTraveItemValue = timeTravelElementCount.ElementAt(i).Text;
OpenQA.Selenium.StaleElementReferenceException: устаревшая ссылка на элемент: элемент не присоединен к документу страницы (информация о сеансе: chrome = 69.0.3497.100) (информация о драйвере: chromedriver = 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f386.064 1064644 106464.14.1464.1464.1464.1064.1064.14.14.14))
HTML-код для выпадающего списка:
<div id="dvTimeTravel" class="pull-right">
<select name="ctl00$ddlTimeTravel" id="ddlTimeTravel">
<option value="1">Open</option>
<option selected="selected" value="2">Pre</option>
<option value="3">Post</option>
</select>
</div>
Selenium C # Код:
// Verify login scenario for all types of time travel- Open, Pre,Post
//Getting All the values from dropdown
SelectElement timeTravel = new SelectElement(Driver.WaitAndFindElement(By.Id("ddlTimeTravel"), 30));
IList<IWebElement> timeTravelElementCount = timeTravel.Options;
int ItemSizeTR = timeTravelElementCount.Count;
Console.WriteLine("ItemSizeTR = " + ItemSizeTR);
for (int i = 0; i < ItemSizeTR; i++)
{
String timeTraveItemValue = timeTravelElementCount.ElementAt(i).Text;
String FinalItemValuesTR = timeTraveItemValue.Trim();
Console.WriteLine("FinalItemValuesTR = " + timeTraveItemValue);
// Verify user is able to select time travel options, login into appliation, and verify logo based on time travel
Driver.FindElement(By.Id("ctl00$contentPlaceholder$txtUsername")).SendKeys("Username");
Driver.FindElement(By.Id("ctl00$contentPlaceholder$txtPassword")).SendKeys("password");
Driver.FindElement(By.Id("contentPlaceholder_btnLogin")).Click();
Assert.IsTrue(Driver.FindElement(By.Id("topLogo")).Displayed);
}