/// <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); } } }
/// <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); } } }
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); } } }