Ejemplo n.º 1
0
        /// <summary>
        /// Выполняет повторный поиск элементов на странице.
        /// </summary>
        /// <returns></returns>
        public ElementCollection <TElement> ReFind()
        {
            _elements = _elements ?? new List <TElement>();
            _elements.Clear();
            _hec = _searchMethod != null?_searchMethod() : Find().WithoutLogging().ZennoElements ?? _hec;

            for (var i = 0; i < _hec.Count - 1; i++)
            {
                const BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance;
                var element     = (TElement)Activator.CreateInstance(typeof(TElement), flags, null, _itemCtorParams, null);
                var baseElement = element as Element;
                baseElement.SearchMethod         = () => _hec.ElementAt(i);
                baseElement.IsAutoFindingEnabled = OptionState.Disabled;
                baseElement.LogName = $"{LogName}[{i}]";
                _elements.Add(element);
            }

            InvokeLogging($"ReFind() : найдено {Count} элементов");
            return(this);
        }