Пример #1
0
 public object Clone()
 {
     MyTask task = new MyTask();
     if (this._taskItems != null)
     {
         task._taskItems = new ArrayList();
         for (int i = 0; i < this._taskItems.Count; i++)
         {
             TaskInfo info2 = (TaskInfo) this._taskItems[i];
             TaskInfo info = new TaskInfo(info2._param1, info2._param2, info2._param3, info2._param4, info2._param5);
             task._taskItems.Add(info);
         }
     }
     task._isRun = this._isRun;
     task._completeTotalCount = this._completeTotalCount;
     task._failTotalCount = this._failTotalCount;
     task._completedCount = this._completedCount;
     task._id = this._id;
     if (this._HourClicks != null)
     {
         task._HourClicks = new ArrayList(this._HourClicks);
     }
     if (this._AreaClicks != null)
     {
         task._AreaClicks = new ArrayList(this._AreaClicks);
     }
     task._totalDayClicks = this._totalDayClicks;
     return task;
 }
Пример #2
0
 public IEItem(TenDayBrowser parent, MyTask task, int totalWaitFindTime, int totalWaitDocCompleteTime)
 {
     this._startTaskTime = this._now = DateTime.Now;
     this._totalWaitFindTime = totalWaitFindTime;
     this._totalWaitDocCompleteTime = totalWaitDocCompleteTime;
     this._task = task;
     this._threadRun = true;
     this._taskInfoIndex = 0;
     this._startLoop = false;
     this._loop = false;
     this.ResetBrowserComplete();
     this.SetDocCompleted(false);
     parent.ShowTip1("任务ID:" + task._id);
 }
Пример #3
0
 private void ProcessRunTask(string xmlDoc)
 {
     if (this._task == null)
     {
         try
         {
             XmlDocument document = new XmlDocument();
             XmlNode node = null;
             document.LoadXml(xmlDoc);
             foreach (XmlNode node2 in document.SelectSingleNode("root").ChildNodes)
             {
                 if (node2.Name.Equals("tasks"))
                 {
                     foreach (XmlNode node3 in node2.ChildNodes)
                     {
                         if (node3.Name.Equals("task"))
                         {
                             MyTask task = new MyTask();
                             foreach (XmlNode node4 in node3.ChildNodes)
                             {
                                 if (node4.Name.Equals("taskinfo"))
                                 {
                                     string s = string.Empty;
                                     string innerText = string.Empty;
                                     string str3 = string.Empty;
                                     string str4 = string.Empty;
                                     string str5 = string.Empty;
                                     foreach (XmlNode node5 in node4)
                                     {
                                         if (node5.Name.Equals("param1"))
                                         {
                                             s = node5.InnerText;
                                         }
                                         else
                                         {
                                             if (node5.Name.Equals("param2"))
                                             {
                                                 innerText = node5.InnerText;
                                                 continue;
                                             }
                                             if (node5.Name.Equals("param3"))
                                             {
                                                 str3 = node5.InnerText;
                                                 continue;
                                             }
                                             if (node5.Name.Equals("param4"))
                                             {
                                                 str4 = node5.InnerText;
                                                 continue;
                                             }
                                             if (node5.Name.Equals("param5"))
                                             {
                                                 str5 = node5.InnerText;
                                             }
                                         }
                                     }
                                     if ((WindowUtil.StringToInt(s) > -1) && (WindowUtil.StringToInt(s) < 0x1d))
                                     {
                                         TaskInfo info = new TaskInfo(s, innerText, str3, str4, str5);
                                         task.Insert(info, -1);
                                     }
                                     continue;
                                 }
                                 if (node4.Name.Equals("params"))
                                 {
                                     foreach (XmlNode node6 in node4)
                                     {
                                         XmlElement element = (XmlElement)node6;
                                         if (element.Name.Equals("taskid"))
                                         {
                                             task._id = WindowUtil.StringToInt(element.InnerText);
                                         }
                                         if (element.Name.Equals("ClickIntervalTime"))
                                         {
                                             task._clickIntervalTime = WindowUtil.StringToInt(element.InnerText);
                                         }
                                         else
                                         {
                                             if (element.Name.Equals("ClickCountPerIP"))
                                             {
                                                 task._clickCountPerIP = WindowUtil.StringToInt(element.InnerText);
                                                 continue;
                                             }
                                             if (element.Name.Equals("ClickRate"))
                                             {
                                                 task._clickRate = WindowUtil.StringToInt(element.InnerText);
                                                 continue;
                                             }
                                             if (element.Name.Equals("AllowScrollWhileWaiting"))
                                             {
                                                 task._allowScrollWhileWaiting = Convert.ToBoolean(element.InnerText);
                                                 continue;
                                             }
                                             if (element.Name.Equals("vipmode"))
                                             {
                                                 task.VipMode = Convert.ToBoolean(element.InnerText);
                                             }
                                         }
                                     }
                                     continue;
                                 }
                             }
                             if (task._taskItems.Count > 0)
                             {
                                 this._task = task;
                             }
                             task = null;
                         }
                     }
                     continue;
                 }
                 if (node2.Name.Equals("setting"))
                 {
                     foreach (XmlNode node7 in node2.ChildNodes)
                     {
                         if (node7.Name.Equals("waitFindTime"))
                         {
                             this._waitFindTime = WindowUtil.StringToInt(node7.InnerText);
                         }
                         else if (node7.Name.Equals("waitDocCompleteTime"))
                         {
                             this._waitDocCompleteTime = WindowUtil.StringToInt(node7.InnerText);
                         }
                         if (node7.Name.Equals("curAddress"))
                         {
                             this.ShowTip1(node7.InnerText);
                         }
                     }
                     continue;
                 }
             }
             node = null;
             document = null;
             if (this._task != null)
             {
                 this.StartTaskThread(this._task);
             }
         }
         catch (Exception exception)
         {
             Logger.Error(exception);
         }
     }
 }
Пример #4
0
 public void StartTaskThread(MyTask task)
 {
     this.StopTaskThread();
     this._taskThreadRun = true;
     if (this._ieItem == null)
     {
         this._ieItem = new IEItem(this, task, this._waitFindTime, this._waitDocCompleteTime);
         this.New(true, this._ieItem);
     }
 }
Пример #5
0
 public MyTask GetTestTask()
 {
     MyTask task = null;
     if (this._testTask != null)
     {
         if (this._browserManager.GetEmptyBrowserWindow())
         {
             if (this._testTask != null)
             {
                 task = this._testTask;
                 this._testTask = null;
                 this.RunTask(task);
             }
             return task;
         }
         else
         {
             this.StartBrowserProcess(true);
         }
     }
     return task;
 }
Пример #6
0
        private void TestTask()
        {
            this._task = new MyTask();
            //TaskInfo task = new TaskInfo("6", "255", "", "", "");
            //this._task.Insert(task, -1);
            TaskInfo task = new TaskInfo("4", "www.taobao.com", "", "", "");
            this._task.Insert(task, -1);
            task = new TaskInfo("1", "q", "铁观音 茶农直销", "", "");
            this._task.Insert(task, -1);
            task = new TaskInfo("2", "btn-search", "3", "", "");
            this._task.Insert(task, -1);

            //task = new TaskInfo("30", "150", "300", "", "");
            //this._task.Insert(task, -1);

            //task = new TaskInfo("1", "page", "15", "1", "0");
            //this._task.Insert(task, -1);
            //task = new TaskInfo("3", "确定", "", "2", "0");
            //this._task.Insert(task, -1);

            //task = new TaskInfo("29", "15", "", "", "");
            //this._task.Insert(task, -1);

            task = new TaskInfo(((int)TaskCommand.Task_FindLinkLinkPage1).ToString(), "铁状元", "下一页", "50", "");
            this._task.Insert(task, -1);

            //task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", "");
            //this._task.Insert(task, -1);
            //task = new TaskInfo(((int)TaskCommand.Task_VisitCompare).ToString(), "10", "1", "", "");
            //this._task.Insert(task, -1);

            //task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", "");
            //this._task.Insert(task, -1);
            //task = new TaskInfo(((int)TaskCommand.Task_VisitCompare).ToString(), "10", "2", "", "");
            //this._task.Insert(task, -1);

            //task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", "");
            //this._task.Insert(task, -1);
            //task = new TaskInfo(((int)TaskCommand.Task_VisitCompare).ToString(), "10", "3", "", "");
            //this._task.Insert(task, -1);

            task = new TaskInfo(((int)TaskCommand.Task_ClickMe).ToString(), "铁状元", "",((int)ElementTag.outerText).ToString(), "");
            this._task.Insert(task, -1);
            task = new TaskInfo(((int)TaskCommand.Task_VisitPage).ToString(), "12", "", "", "");
            this._task.Insert(task, -1);

            task = new TaskInfo(((int)TaskCommand.Task_ClickLink).ToString(), "进入店铺", "", ((int)ElementTag.outerText).ToString(), "");
            this._task.Insert(task, -1);

            task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", "");
            this._task.Insert(task, -1);
            task = new TaskInfo(((int)TaskCommand.Task_VisitPage).ToString(), "20", "", "", "");
            this._task.Insert(task, -1);

            task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", "");
            this._task.Insert(task, -1);
            task = new TaskInfo(((int)TaskCommand.Task_VisitPage).ToString(), "20", "", "", "");
            this._task.Insert(task, -1);

            task = new TaskInfo("0", "105", "", "", "");
            this._task.Insert(task, -1);

            //task = new TaskInfo("7", "小米手机M红米2 1.5G四核4.7HD屏800W像素双卡双待 红米手机现货 手机", "下一页", "3", "");
            //this._task.Insert(task, -1);
            //task = new TaskInfo("3", "小米手机M红米2 1.5G四核4.7HD屏800W像素双卡双待 红米手机现货 手机", "", "2", "");
            //this._task.Insert(task, -1);
            //task = new TaskInfo("5", "10", "10", "http://detail.tmall.com/item.htm", "");
            //this._task.Insert(task, -1);
            //task = new TaskInfo("0", "10", "", "", "");
            //this._task.Insert(task, -1);
            this.StartTaskThread(this._task);
        }
Пример #7
0
 public void SendRunTask(MyTask mytask)
 {
     try
     {
         COPYDATASTRUCT copydatastruct;
         XmlDocument document = new XmlDocument();
         XmlElement newChild = document.CreateElement("root");
         XmlElement element2 = document.CreateElement("tasks");
         XmlElement element4 = document.CreateElement("task");
         XmlElement element5 = document.CreateElement("params");
         foreach (TaskInfo info in mytask._taskItems)
         {
             XmlElement element6 = document.CreateElement("taskinfo");
             XmlElement element7 = document.CreateElement("param1");
             XmlElement element8 = document.CreateElement("param2");
             XmlElement element9 = document.CreateElement("param3");
             XmlElement element10 = document.CreateElement("param4");
             XmlElement element11 = document.CreateElement("param5");
             element7.InnerText = info._param1;
             element6.AppendChild(element7);
             if ((info._param2 != string.Empty) && (info._param2 != ""))
             {
                 element8.InnerText = info._param2;
                 element6.AppendChild(element8);
             }
             if (info._param3 != string.Empty)
             {
                 element9.InnerText = info._param3;
                 element6.AppendChild(element9);
             }
             if (info._param4 != string.Empty)
             {
                 element10.InnerText = info._param4;
                 element6.AppendChild(element10);
             }
             if (info._param5 != string.Empty)
             {
                 element11.InnerText = info._param5;
                 element6.AppendChild(element11);
             }
             element4.AppendChild(element6);
         }
         XmlElement element3 = document.CreateElement("taskid");
         element3.InnerText = mytask._id.ToString();
         element5.AppendChild(element3);
         element3 = null;
         element4.AppendChild(element5);
         element2.AppendChild(element4);
         newChild.AppendChild(element2);
         XmlElement element12 = document.CreateElement("setting");
         if (WaitFindTime != 0)
         {
             element3 = document.CreateElement("waitFindTime");
             element3.InnerText = WaitFindTime.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         if (this.WaitDocCompleteTime != 0)
         {
             element3 = document.CreateElement("waitDocCompleteTime");
             element3.InnerText = this.WaitDocCompleteTime.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         if (this.jobInfoStr != "")
         {
             element3 = document.CreateElement("JobInfoStr");
             element3.InnerText = this.jobInfoStr.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         if (jobExpireTimer.Text.ToString() != "")
         {
             element3 = document.CreateElement("JobExpireTime");
             element3.InnerText = jobExpireTimer.Text.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         if (_ipAddress.ToString() != "")
         {
             element3 = document.CreateElement("IpAddress");
             element3.InnerText = _ipAddress.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         if (_uaString.ToString() != "")
         {
             element3 = document.CreateElement("UAString");
             element3.InnerText = _uaString.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         if (_uaCaptionString.ToString() != "")
         {
             element3 = document.CreateElement("UACaptionString");
             element3.InnerText = _uaCaptionString.ToString();
             element12.AppendChild(element3);
             element3 = null;
         }
         //if (!string.IsNullOrEmpty(this._curAddress))
         //{
         //    element3 = document.CreateElement("curAddress");
         //    element3.InnerText = this._curAddress;
         //    element12.AppendChild(element3);
         //    element3 = null;
         //}
         newChild.AppendChild(element12);
         document.AppendChild(newChild);
         string outerXml = document.OuterXml;
         int length = Encoding.Unicode.GetBytes(outerXml).Length;
         copydatastruct.dwData = IntPtr.Zero;
         copydatastruct.lpData = outerXml;
         copydatastruct.cbDaat = length + 2;
         _browserManager.RunTask(mytask._id, copydatastruct);
     }
     catch (Exception)
     {
     }
 }