/// <summary> /// Возвращает класс, действительно выполняющий поиск элементов /// </summary> /// <param name="realquery"></param> /// <param name="reallanguage"></param> /// <returns></returns> protected virtual ISelectorImpl ResolveExecutor(string realquery, SelectorLanguage reallanguage) { switch (reallanguage) { case SelectorLanguage.XPath: return XPathSelector ?? (XPathSelector = new XPathSelectorImpl()); case SelectorLanguage.Regex: return RegexSelector ?? (RegexSelector = new RegexSelectorImpl()); case SelectorLanguage.Css: return CssSelector ?? (CssSelector = new CssSelectorImpl()); case SelectorLanguage.Custom: if (null == CustomSelectors) return null; return CustomSelectors.FirstOrDefault(_ => _.IsSupported(realquery)); default: return null; } }
/// <summary> /// Возвращает класс, действительно выполняющий поиск элементов /// </summary> /// <param name="realquery"></param> /// <param name="reallanguage"></param> /// <returns></returns> protected virtual ISelectorImpl ResolveExecutor(string realquery, SelectorLanguage reallanguage) { switch (reallanguage) { case SelectorLanguage.XPath: return(XPathSelector ?? (XPathSelector = new XPathSelectorImpl())); case SelectorLanguage.Regex: return(RegexSelector ?? (RegexSelector = new RegexSelectorImpl())); case SelectorLanguage.Css: return(CssSelector ?? (CssSelector = new CssSelectorImpl())); case SelectorLanguage.Custom: if (null == CustomSelectors) { return(null); } return(CustomSelectors.FirstOrDefault(_ => _.IsSupported(realquery))); default: return(null); } }