/// <summary> /// このクラスでの実行すること。 /// </summary> /// <param name="runChildren"></param> public override void Run(bool runChildren) { var page = this.GetAncestorRawler().OfType <Page>().FirstOrDefault(); if (page != null) { if (tmpUrl == page.GetCurrentUrl()) { tmpCount++; if (tmpCount >= reloadCount) { ReportManage.ErrReport(this, "ReloadCount:規定数のリロード回数を超えました。"); OverCountTree.SetParent(this); OverCountTree.Run(); return; } } else { tmpUrl = page.GetCurrentUrl(); tmpCount = 0; } page.Reload(); Task.Delay((int)(sleepSeconds * 1000)).Wait(); } base.Run(runChildren); }
public static string GetText(string text, RawlerBase rawler) { Document doc = new Document(); doc.SetText(text); rawler.SetParent(doc); var last = rawler.GetDescendantRawler().Last(); rawler.Run(); return(last.Text); }
public override void Run(bool runChildren) { try { RawlerBase rawler = (RawlerBase)XamlServices.Load(FileName.Convert(this)); rawler.SetParent(this); rawler.Run(); } catch (Exception ex) { ReportManage.ErrReport(this, ex.ToString()); } }
/// <summary> /// このクラスでの実行すること。 /// </summary> /// <param name="runChildren"></param> public override void Run(bool runChildren) { var data = this.GetAncestorRawler().OfType <Data>().FirstOrDefault(); if (data != null) { if (data.GetCurrentDataRow().DataDic.Count >= MinAttributeCount) { base.Run(runChildren); } else { if (FailedTree != null) { FailedTree.SetParent(this); FailedTree.Run(); } } } }