#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)
}