Esempio n. 1
0
        /// <summary>
        /// 通过xpath查找页面元素,包括多个元素的情况
        /// </summary>
        /// <param name="xpath"></param>
        /// <param name="action"></param>
        public void findManyByXPath(string xpath, Jint.Delegates.Action <int, ElementWrapper> action)
        {
            ElementCollection elements = Browser.GetElementsByXPath(xpath);
            int index = 0;

            foreach (Element el in elements)
            {
                try
                {
                    action(index++, new ElementWrapper(Browser, el));
                }
                catch (Exception ex) {
                    logger.Fatal(ex);
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// css3 selector many
        /// </summary>
        /// <param name="selector"></param>
        /// <param name="action"></param>
        public void findMany(string selector, Jint.Delegates.Action <int, ElementWrapper> action)
        {
            IEnumerable <ElementWrapper> elements = findMany(selector);
            int index = 0;

            foreach (var item in elements)
            {
                try
                {
                    action(index++, item);
                }
                catch (Exception ex)
                {
                    logger.Fatal(ex);
                }
            }
        }
Esempio n. 3
0
        public void findMany(string tagName, string className, Jint.Delegates.Action <int, ElementWrapper> action)
        {
            DateTime now      = DateTime.Now;
            var      elements = Browser.ElementsWithTag(tagName).Where(c => c.ClassName == className);
            int      count    = elements.Count();

            logger.Info("findMany className:" + DateTime.Now.Subtract(now).TotalMilliseconds);
            int index = 0;

            foreach (var item in elements)
            {
                try
                {
                    action(index++, new ElementWrapper(Browser, item));
                }
                catch (Exception ex) {
                    logger.Fatal(ex);
                }
            }
        }