public static IWebElement FindElement(this IWebDriver driver, _JQuerySelector by)
        {
            if (by == null)
            {
                throw new ArgumentNullException("by");
            }

            driver.LoadJQuery();

            var javaScriptDriver = (IJavaScriptExecutor)driver;
            var script           = string.Format(CultureInfo.InvariantCulture, "return jQuery('{0}').get(0);", by.Selector);
            var result           = javaScriptDriver.ExecuteScript(script) as IWebElement;

            if (result == null)
            {
                throw new NoSuchElementException("No element found with jQuery command: " + by.Selector);
            }

            return(result);
        }
        public static ReadOnlyCollection <IWebElement> FindElements(this IWebDriver driver, _JQuerySelector by)
        {
            if (by == null)
            {
                throw new ArgumentNullException("by");
            }

            driver.LoadJQuery();

            var javaScriptDriver = (IJavaScriptExecutor)driver;
            var script           = string.Format(CultureInfo.InvariantCulture, "return jQuery('{0}').get();", by.Selector);

            return(javaScriptDriver.ExecuteScript(script) as ReadOnlyCollection <IWebElement>
                   ?? new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));
        }