コード例 #1
0
        /// <summary>
        /// Attempts to check if the supplied element is interactable. I.e. has the greatest Z index in its DOM area and is enabled.
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="elementToQuery">The element to query.</param>
        /// <returns>If the element is interactable.</returns>
        public static bool IsInteractable(this IWebDriver driver, IWebElement elementToQuery)
        {
            var js = String.Format("return document.elementFromPoint({0}, {1});", elementToQuery.Location.X,
                                   elementToQuery.Location.Y);

            IJavaScriptExecutor executor     = (IJavaScriptExecutor)driver;
            IWebElement         elementFound = (IWebElement)executor.ExecuteScript(js);

            return(WebDriverSupport.ElementsMatch(elementToQuery, elementFound) && elementToQuery.Enabled);
        }