Selenium WebDriver с C # — Как я могу получить все значения параметров из выпадающего списка?

#selenium

#selenium

Вопрос:

Я новичок как в Selenium WebDriver, так и в Visual Studio 2017, мне нужна помощь с: Получите все значения параметров из выпадающего списка и распечатайте его в консоли.

 <select id="FilterOrganization" name="FilterOrganization" tabindex="-1" class="select2-hidden-accessible" aria-hidden="true"><option value="">Show All Organizations</option>
<option value="0013000000H9TkiAAF"> Associates, LLC</option>
<option value="0018000000ubNRhAAM">Test Health Systems</option>
</select>
  

Это то, что я пробовал:

 driver.FindElement(By.Id("org - list")).Click(); 
SelectElement organization = new SelectElement(driver.FindElement(By.Id("FilterOrganization"))); 
IList<IWebElement> options = organization.AllSelectedOptions; 
foreach (IWebElement option in options)
{ 
    console.writeLine(option.Text) 
} 
  

Спасибо!

Комментарии:

1. Пожалуйста, опубликуйте любую попытку, которую вы предприняли при написании этого кода.

2. драйвер. findElement(By.Id («org — list»)).Click(); SelectElement organization = новый SelectElement(драйвер. findElement(By.Id («FilterOrganization»))); Я перечисляю<IWebElement> параметры = организация. AllSelectedOptions; foreach (опция IWebElement в options){ консоль. WriteLine (опция. Текст) }

3. Вы должны добавить свою попытку создания кода в свой пост, это покажет, что вы предприняли попытку, и побудит больше людей попытаться помочь вам. Я изменил ваш пост, чтобы включить ваш предыдущий комментарий к коду, который вы пробовали.

4. Спасибо! будем иметь это в виду.

Ответ №1:

Вы можете использовать их следующим образом

 var options = Driver.FindElements(By.CssSelector("select > option"));
var optionValues = options.Select(elem => elem.GetAttribute("value")).ToList();
  

Ответ №2:

Я бы посоветовал установить Selenium.Поддержите nuget, а затем вы можете сделать следующее:

 using OpenQA.Selenium.Support.UI;


// select the drop down list
var element = driver.FindElement(By.Id("FilterOrganization"));
//create select element object 
var selectElement = new SelectElement(element);

foreach (var option in selectElement.Options)
{ 
    Console.WriteLine(option.Text) 
}