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; }
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 int GetTaskInfo(ref TaskInfo taskItem, ref int taskIndex, ref bool startLoop, ref bool loop, ref int loopTime) { if (startLoop && loop) { taskIndex--; loopTime++; } else { startLoop = false; loop = false; loopTime = 0; } if (taskIndex >= this._taskItems.Count) { return -1; } taskItem = (TaskInfo) this._taskItems[taskIndex++]; switch (WindowUtil.StringToInt(taskItem._param1)) { case 5: case 7: case 13: case 15: case 0x11: case 0x17: case 0x19: case 0x13: case 0x15: case 0x1b: startLoop = loop = true; break; default: startLoop = loop = false; break; } return 0; }
public void Insert(TaskInfo task, [Optional, DefaultParameterValue(-1)] int index) { if (index == -1) { this._taskItems.Add(task); } else { this._taskItems.Add(task); //this._taskItems.Insert(index, task); } }
private bool createInputText(string textBoxInputBoxName, string textBoxInputText, [Optional, DefaultParameterValue(ElementTag.ID)] ElementTag iD, [Optional, DefaultParameterValue(0)] index) { string str = textBoxInputBoxName.Text.Trim(); string str2 = textBoxInputText.Text.Trim(); //ElementTag iD = ElementTag.ID; if (!string.IsNullOrEmpty(str) && !string.IsNullOrEmpty(str2)) { TaskInfo info; int num = (int)TaskCommand.Task_InputText; int num2 = (int)iD; if (this._inputIndex == 0) { info = new TaskInfo(num.ToString(), str, str2, num2.ToString(), ""); } else { info = new TaskInfo(num.ToString(), str, str2, num2.ToString(), index.ToString()); } this._task.Insert(info, this._curTaskIndex++); } return true; }
private bool createNativeURL(string naviteURL,string referURL) { if (!string.IsNullOrEmpty(naviteURL)) { if (!naviteURL.StartsWith("http://") && !naviteURL.StartsWith("https://")) { naviteURL = "http://" + naviteURL; } if ((!string.IsNullOrEmpty(referURL) && !referURL.StartsWith("http://")) && !referURL.StartsWith("https://")) { referURL = "http://" + referURL; } int num = TaskCommand.Task_Navigate; TaskInfo task = new TaskInfo(num.ToString(), str, str2, "", ""); this._task.Insert(task, this._curTaskIndex++); //this.ReloadTask(false); //this.SetTaskItem(TaskCommand.Task_None); } return true; }
private bool createClickButton(string textBoxButtonID, [Optional, DefaultParameterValue(ElementTag.className)] ElementTag iD, [Optional, DefaultParameterValue(0)] index) { if (!string.IsNullOrEmpty(textBoxButtonID)) { TaskInfo info; int num = TaskCommand.Task_ClickButton; int num2 = (int)iD; info = new TaskInfo(num.ToString(), textBoxButtonID, num2.ToString(), index.ToString(), ""); this._task.Insert(info, this._curTaskIndex++); } return true; }
private bool createClickLink(string linkName, [Optional, DefaultParameterValue(ElementTag.className)] ElementTag iD) { if (!string.IsNullOrEmpty(linkName)) { TaskInfo info; int num = TaskCommand.Task_ClickLink; int num2 = (int)iD; info = new TaskInfo(num.ToString(), linkName, num2.ToString(), index.ToString(), ""); this._task.Insert(info, this._curTaskIndex++); } return true; }
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); }
private bool CreateZRSearchTask(STKeyInfo keyInfo) { TaskInfo task = new TaskInfo("4", "www.taobao.com", "", "", ""); this._testTask.Insert(task, -1); task = new TaskInfo(((int)(TaskCommand.Task_InputText)).ToString(), "q", keyInfo.m_keyword, "", ""); this._testTask.Insert(task, -1); task = new TaskInfo("2", "btn-search", "3", "", ""); this._testTask.Insert(task, -1); if (keyInfo.isZTCClick() == false) { if (keyInfo.m_sortType == 2) { task = new TaskInfo(((int)(TaskCommand.Task_ClickLink)).ToString(), "人气", "", ((int)ElementTag.outerText).ToString(), "0"); _testTask.Insert(task, -1); //createClickLink("人气", "", ElementTag.outerText, 0); }else if (keyInfo.m_sortType == 1) { task = new TaskInfo(((int)(TaskCommand.Task_ClickLink)).ToString(), "销量", "", ((int)ElementTag.outerText).ToString(), "0"); _testTask.Insert(task, -1); //createClickLink("销量", "", ElementTag.outerText, 0); } } if (keyInfo.m_startPrice < keyInfo.m_endPrice) { task = new TaskInfo(((int)(TaskCommand.Task_InputText)).ToString(), "start_price", keyInfo.m_startPrice.ToString(), ((int)ElementTag.name).ToString(), "0"); this._testTask.Insert(task, -1); task = new TaskInfo(((int)(TaskCommand.Task_InputText)).ToString(), "end_price", keyInfo.m_endPrice.ToString(), ((int)ElementTag.name).ToString(), "0"); this._testTask.Insert(task, -1); task = new TaskInfo(((int)(TaskCommand.Task_ClickButton)).ToString(), "确定", ((int)ElementTag.outerText).ToString(), "1", ""); this._testTask.Insert(task, -1); //createInputText("start_price", keyInfo.m_startPrice.ToString(), ElementTag.name, 0); //createInputText("end_price", keyInfo.m_endPrice.ToString(), ElementTag.name, 0); //createClickButton("确定", ElementTag.outerText, 1); } int defaultMaxPage = 50; if (keyInfo.m_startPage < keyInfo.m_endPage && keyInfo.m_startPage != 1) { task = new TaskInfo(((int)(TaskCommand.Task_GoPage)).ToString(), keyInfo.m_startPage.ToString(), "", "", ""); _testTask.Insert(task, -1); defaultMaxPage = keyInfo.m_endPage - keyInfo.m_startPage; //createGoPage( keyInfo.m_startPage.ToString()); } if (keyInfo.isZTCClick() == false) { task = new TaskInfo(((int)TaskCommand.Task_FindLinkLinkPage1).ToString(), keyInfo.m_zrWangwangName, "下一页", defaultMaxPage.ToString(), ""); _testTask.Insert(task, -1); } else { task = new TaskInfo(((int)TaskCommand.Task_FindLinkLinkPage1).ToString(), keyInfo.m_ztcTitle, "下一页", defaultMaxPage.ToString(), ""); _testTask.Insert(task, -1); } if (compareCB.Checked) { int randCompare = rndGenerator.Next(1, 4); for (int i = 0; i < randCompare; i++) { int rndCmpTime = rndGenerator.Next(5, 13); task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", ""); _testTask.Insert(task, -1); task = new TaskInfo(((int)TaskCommand.Task_VisitCompare).ToString(), rndCmpTime.ToString(), i.ToString(), "", ""); _testTask.Insert(task, -1); } } if (keyInfo.isZTCClick() == false) { task = new TaskInfo(((int)TaskCommand.Task_ClickMe).ToString(), keyInfo.m_zrWangwangName, "", ((int)ElementTag.outerText).ToString(), ""); _testTask.Insert(task, -1); } else { task = new TaskInfo(((int)TaskCommand.Task_ClickLink).ToString(), keyInfo.m_ztcTitle, "", ((int)ElementTag.title).ToString(), ""); _testTask.Insert(task, -1); } int visitMainPage = rndGenerator.Next(getMainItemMinTime(), getMainItemMaxTime()); task = new TaskInfo(((int)TaskCommand.Task_VisitPage).ToString(), visitMainPage.ToString(), "", "", ""); _testTask.Insert(task, -1); int enterMainIndex = rndGenerator.Next(0, m_clickMainPageItem.Length); task = new TaskInfo(((int)TaskCommand.Task_ClickLink).ToString(), m_clickMainPageItem[enterMainIndex].ToString(), "", ((int)ElementTag.outerText).ToString(), ""); _testTask.Insert(task, -1); int pageVisitDeep = getVisitDeep(); if (visitDeepRndCheckBox.Checked) { pageVisitDeep = rndGenerator.Next(1, 5); } for (int i = 0; i < pageVisitDeep; i++) { int rndVisitTime = rndGenerator.Next(getOtherItemMinTime(), getOtherItemMaxTime()); task = new TaskInfo(((int)TaskCommand.Task_ClickCompare).ToString(), "http://detail.tmall.com/item.htm", "http://item.taobao.com/item.htm", "", ""); _testTask.Insert(task, -1); task = new TaskInfo(((int)TaskCommand.Task_VisitPage).ToString(), rndVisitTime.ToString(), "", "", ""); _testTask.Insert(task, -1); } return true; }
private bool createZRFindPage(string wangwangName, [Optional, DefaultParameterValue(ElementTag.className)] ElementTag iD, [Optional, DefaultParameterValue(0)] int index) { if (!string.IsNullOrEmpty(wangwangName)) { TaskInfo info; int num = (int)(TaskCommand.Task_ClickLink); int num2 = (int)iD; info = new TaskInfo(num.ToString(), wangwangName, num2.ToString(), index.ToString(), ""); this._testTask.Insert(info, this._curTaskIndex++); } return true; }
private bool createWait(int waitTime) { if (0 != waitTime) { TaskInfo info; int num = (int)(TaskCommand.Task_Wait); info = new TaskInfo(num.ToString(), waitTime.ToString(), "", "", ""); this._testTask.Insert(info, this._curTaskIndex++); } return true; }
private bool createGoPage(string textBoxInputText) { string str2 = textBoxInputText.Trim(); //ElementTag iD = ElementTag.ID; if (!string.IsNullOrEmpty(str2)) { TaskInfo info; int num = (int)TaskCommand.Task_GoPage; info = new TaskInfo(num.ToString(), str2, "", "", ""); this._testTask.Insert(info, this._curTaskIndex++); } return true; }