private string GetTextVisbleType(RawlerLib.Web.Link link) { if (visbleType == LinkVisbleType.Label) { return(link.Label); } if (visbleType == LinkVisbleType.Url) { return(link.Url); } return(link.Tag); }
private void NewMethod(bool runChildren) { List <RawlerLib.Web.Link> list; if (this.Parent is Links && ((Links)this.Parent).TargetTag == this.TargetTag) { var p = (Links)this.Parent; list = new List <RawlerLib.Web.Link>() { p.currentLink }; } else { if (string.IsNullOrEmpty(TargetTag)) { if (useAbsolutetLink) { list = new List <RawlerLib.Web.Link>(RawlerLib.Web.GetLinkForHTML(GetText(), GetPageUrl())); } else { list = new List <RawlerLib.Web.Link>(RawlerLib.Web.GetLinkForHTML(GetText())); } } else { if (useAbsolutetLink) { list = new List <RawlerLib.Web.Link>(RawlerLib.Web.GetLinkForHTML(GetText(), GetPageUrl(), TargetTag)); } else { list = new List <RawlerLib.Web.Link>(RawlerLib.Web.GetLinkForHTML(GetText(), null, TargetTag)); } } } if (LabelFilter != null && LabelFilter.Length > 0) { list = new List <RawlerLib.Web.Link>(list.Where(n => n.Label.Contains(LabelFilter))); } if (UrlFilter != null && UrlFilter.Length > 0) { list = new List <RawlerLib.Web.Link>(list.Where(n => n.Url.Contains(UrlFilter))); } if (TagFilter != null && TagFilter.Length > 0) { list = new List <RawlerLib.Web.Link>(list.Where(n => n.TagWithoutUrl.Contains(TagFilter))); } if (CheckUrl) { if (useAbsolutetLink) { list = list.Where(n => Uri.IsWellFormedUriString(n.Url, UriKind.Absolute)).ToList(); } else { list = list.Where(n => Uri.IsWellFormedUriString(n.Url, UriKind.RelativeOrAbsolute)).ToList(); } } if (list.Count == 0 && EmptyTree != null) { EmptyTree.SetParent(this.Parent); EmptyTree.Run(); } if (emptyReport && list.Count() == 0) { ReportManage.ErrReport(this, "対象が見つかりませんでした"); } if (IsSingle == false) { RunChildrenForArray <RawlerLib.Web.Link>(runChildren, list, (n) => GetTextVisbleType(n), (n) => { currentLink = n; }); } else { if (this.texts.Count() > 0) { SetText(GetTextVisbleType(list.First())); RunChildren(runChildren); } } }