/// <summary>
        /// Sets the page the listed page with the matching number.
        /// </summary>
        /// <param name="listedPage"></param>
        /// <returns></returns>
        public virtual KPagerComponent <T> SetPage(int listedPage)
        {
            var desiredPageEl = AvailablePagesElements
                                .FirstOrDefault(
                e => e.TextHelper().ExtractInteger() == listedPage);

            if (desiredPageEl == null)
            {
                throw new NoSuchElementException($"Failed to locate page " +
                                                 $"#{listedPage} among the available pages.");
            }

            // Click the page element, should trigger a loading indicator.
            desiredPageEl.Click();

            // Wait until the loading finishes.
            WaitForLoadingOperation();

            return(this);
        }
 /// <summary>
 /// Returns a list of listed pages.
 /// </summary>
 /// <returns></returns>
 public virtual IList <int> GetListedPages()
 {
     return(AvailablePagesElements
            .Select(e => e.TextHelper().ExtractInteger())
            .ToList());
 }