Example #1
0
 public async override Task Run (IJubenRunningControler runningMen,  Action completed, string logTitle)
 {
    await base.Run(runningMen,  null,logTitle);
     try
     {
         runningMen.RecordLog(string.Format("{4}{3}\t{0}{1}{2}", this.Key, this.OperatorType.GetDisplay(), this.Value, this.ToString(),logTitle ),
             LogLevel.Debug);
         var value = runningMen.GetValue(Key);
         if (Check(value))
         {
             runningMen.RecordLog(string.Format("条件满足,跳出剧集;{0}{1}{2}", this.Key, this.OperatorType.GetDisplay(), value),LogLevel.Info);
             runningMen.JumpToNextJuji();
         } else
         {
             runningMen.RecordLog(string.Format("条件不符,不能跳出当前剧集;{0}{1}{2}", this.Key, this.OperatorType.GetDisplay(), value), LogLevel.Info);
         }
             
     } catch(Exception e)
     {
         runningMen.RecordLog( string.Format("{1}异常,{0}, {2}", Key, this.ToString(), e), LogLevel.Error); 
         throw;
     }
     
     completed();
 }
 public async  override Task  Run (IJubenRunningControler runningMen,   Action completed, string logTitle)
 {
     await  base.Run(runningMen,null,logTitle);
     runningMen.RecordLog(logTitle +  this.ToString() , LogLevel.Debug); 
     runningMen.CloseOtherWindows();
     completed();
 }
Example #3
0
 public async  override Task Run (IJubenRunningControler  runningMen,   Action completed, string logTitle)
 {  
     await  base.Run(runningMen,  null,logTitle);
     runningMen.RecordLog( logTitle + this.ToString() + "\t" + Index, LogLevel.Debug);
     runningMen.SelectWindow(Index);
     completed();
 }
Example #4
0
 public async  override Task Run (IJubenRunningControler  runningMen,   Action completed, string logTitle)
 {
    await  base.Run(runningMen, completed,logTitle);
    runningMen.CallScript(GetScript());
    if(completed != null)
     completed(); 
 }
Example #5
0
         public override async Task Run(IJubenRunningControler runningMen,   Action completed, string logTitle)
        {
           mNavigatedCount = 0;
           await base.Run(runningMen,  completed,logTitle);
           mRunningMen = runningMen;
           mCompleted = completed; 
           runningMen.NavigatedEvent += runningMen_NavigatedEvent;
           var url = runningMen.TranslateString(Url);
           runningMen.RecordLog(string.Format("{0}前往网址\t{1}",logTitle, url) , LogLevel.Debug); 
           runningMen.GoUrl(url ); 

        }
Example #6
0
 public override Task Run (IJubenRunningControler runningMen,  Action completed, string logTitle)
 { 
     mLogTitle = logTitle;
     if(IsLink)
     {
         mNavigatedCount = 0;
         mRunningMen = runningMen;
         mCompleted = completed;
         runningMen.NavigatedEvent += runningMen_NavigatedEvent; 
         return base.Run(runningMen,  null,logTitle );
     }
     return base.Run(runningMen,  completed,logTitle );
 }
Example #7
0
 public override Task Run (IJubenRunningControler runningMen , Action completed, string logTitle)
 { 
     mLogTitle = logTitle;
     mFinalValue = runningMen.TranslateString(Value);
     mRunningMen = runningMen;
     //var reg = new Regex(@"\[([^\[\]]*)\]");
     //var mats = reg.Matches(mFinalValue);
     //foreach(Match  mat in mats)
     //{
     //    var key = mat.Groups[1].Value;
     //    var name = mat.Value;
     //    var val = runningMen.GetValue(key);
     //    mFinalValue =  mFinalValue.Replace(name, val);
     //}
     return base.Run(runningMen,  completed,logTitle );
 }
Example #8
0
        public async  override Task Run (IJubenRunningControler runningMen,  Action completed, string logTitle)
        {
           await base.Run(runningMen, null,logTitle );
            
            try
            {
                var doc = runningMen.GetHtmlDocument();
           
               //var ex = (System.Runtime.InteropServices.Expando.IExpando)doc;
               //var proName =  string.Format("TakeValue_{0}", this.GetHashCode());
               //var piform = ex.AddProperty(proName);
               //piform.SetValue(browser.Document , this, null);
               //var fullScript = string.Format(@"function TakeData{2}() {{ {1}  }} document.{0}.Value = TakeData{2}();", proName, Script, runningMen.GetHashCode());
               //browser.CallScript(fullScript);

               var proName = string.Format("TakeValue_{0}", this.GetHashCode());
               var script = string.Format(@"function TakeData{2}() {{ {1}  }} 
document.{0} = TakeData{2}();", proName, Script, runningMen.GetHashCode());
                 
                runningMen.RecordLog(logTitle +  this.ToString() + "\t" + script , LogLevel.Debug);
                runningMen.CallScript(script);
               var value = doc.GetType().InvokeMember(proName, BindingFlags.GetProperty, null, doc, new object[] { });
                if(IsSummarize)
                {
                    var oldValue = runningMen.GetValue(Key);
                    int oldCount = string.IsNullOrEmpty(runningMen.GetValue(Key))?0: Convert.ToInt32(oldValue);
                    oldCount += Convert.ToInt32(value);
                    runningMen.SetValue(Key, oldCount.ToString());
                }else
                    runningMen.SetValue(Key, value == null ?"" : value.ToString());
 
                    runningMen.RecordLog( string.Format( "提取到[{0}]={1}",Key,value), LogLevel.Info);
               
            } catch(Exception e)
            {
                runningMen.RecordLog(string.Format("提取[{0}]异常:{1}", Key, e), LogLevel.Error); 
                throw;
            }

           completed();
 
        }
Example #9
0
 public async  override Task Run (IJubenRunningControler  runningMen,  Action completed, string logTitle)
 {
     await  base.Run(runningMen,  completed,logTitle);
     runningMen.RecordLog(logTitle+ this.ToString() + "\t" + Message, LogLevel.Debug);
     runningMen.RaiseManuel(this.Message);
 }
Example #10
0
 public override Task Run (IJubenRunningControler  runningMen,   Action completed, string logTitle)
 {
     mRunningMen = runningMen;
     mLogTitle = logTitle;
     return base.Run(runningMen,  completed,logTitle);
 }