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