コード例 #1
0
 public SelectElement(IWebElement element, IWebDriver driver) : base(element, driver)
 {
     if (element.TagName == "select")
     {
         OldStyleSelect       = new OpenQA.Selenium.Support.UI.SelectElement(element);
         LazyAvailableOptions = new Lazy <IList <IWebElement> >(() => OldStyleSelect.Options);
         LazySelectedOptions  = new Lazy <IList <IWebElement> >(() => OldStyleSelect.AllSelectedOptions);
     }
     else
     {
         var listId = element.GetAttribute("list");
         LazyAvailableOptions = new Lazy <IList <IWebElement> >(() => driver.FindElements(By.XPath($"//datalist[@id='{listId}']/option")));
         LazySelectedOptions  = new Lazy <IList <IWebElement> >(() => new List <IWebElement>());
         var value = element.GetAttribute("value");
         if (!string.IsNullOrWhiteSpace(value))
         {
             SelectedOptions.Add(AvailableOptions.First(o => o.GetAttribute("value") == value));
         }
     }
 }