public static int GetLinkElementIndex(mshtml.IHTMLDocument2 doc, mshtml.IHTMLElement ele, string itemName, string tagStr) { mshtml.IHTMLElementCollection links; int num = 0; bool flag = false; ElementTag outerText = ElementTag.outerText; if (!string.IsNullOrEmpty(tagStr)) { outerText = (ElementTag)WindowUtil.StringToInt(tagStr); } if (outerText != ElementTag.src) { links = doc.links; if (links == null) { goto Label_00EA; } foreach (mshtml.IHTMLElement element2 in links) { if (IsElementMatch(element2, outerText, itemName, "")) { if (ele == element2) { flag = true; break; } num++; } } } else { links = doc.images; if (links != null) { foreach (mshtml.IHTMLElement element in links) { if (IsElementMatch(element, outerText, itemName, "")) { if (ele == element) { flag = true; break; } num++; } } Marshal.ReleaseComObject(links); } goto Label_00EA; } Marshal.ReleaseComObject(links); Label_00EA: if (!flag) { num = 0; } return(num); }
public static mshtml.IHTMLElement GetInputElement(mshtml.IHTMLDocument2 doc, string itemName, string tagStr, string indexStr) { mshtml.IHTMLElementCollection o = (mshtml.IHTMLElementCollection)doc.all.tags("input"); mshtml.IHTMLElement element = null; ElementTag iD = ElementTag.ID; int num = 0; int num2 = 0; if (!string.IsNullOrEmpty(indexStr)) { num = WindowUtil.StringToInt(indexStr); } if ((tagStr != string.Empty) && (tagStr != "")) { iD = (ElementTag)WindowUtil.StringToInt(tagStr); } foreach (mshtml.IHTMLElement element2 in o) { if (IsElementMatch(element2, iD, itemName, "")) { if (num2 == num) { element = element2; break; } num2++; } } if (o != null) { Marshal.ReleaseComObject(o); } return(element); }
public static mshtml.IHTMLElement GetButtonElement(mshtml.IHTMLDocument2 doc, string itemName, string tagStr, string indexStr) { mshtml.IHTMLElement element = null; ElementTag iD = ElementTag.ID; int num = 0; int num2 = 0; if ((indexStr != string.Empty) && (indexStr != "")) { num2 = WindowUtil.StringToInt(indexStr); } if ((tagStr != string.Empty) && (tagStr != "")) { iD = (ElementTag)WindowUtil.StringToInt(tagStr); } mshtml.IHTMLElementCollection o = (mshtml.IHTMLElementCollection)doc.all.tags("input"); foreach (mshtml.IHTMLElement element2 in o) { if ((IsElementMatchType(element2, "submit") || IsElementMatchType(element2, "button")) && IsElementMatch(element2, iD, itemName, "")) { if (num == num2) { element = element2; break; } num++; } } if (o != null) { Marshal.ReleaseComObject(o); } o = (mshtml.IHTMLElementCollection)doc.all.tags("button"); foreach (mshtml.IHTMLElement element3 in o) { if (IsElementMatch(element3, iD, itemName, "")) { if (num == num2) { return(element3); } num++; } } return(element); }
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 uint CalculateScore() { uint num = 0; switch (((TaskCommand)WindowUtil.StringToInt(this._param1))) { case TaskCommand.Task_Wait: if (!string.IsNullOrEmpty(this._param2)) { num = (WindowUtil.StringToUint(this._param2) + 0x1d) / 30; } return(num); case TaskCommand.Task_DeepClick: if (!string.IsNullOrEmpty(this._param2)) { num = 1 + (WindowUtil.StringToUint(this._param2) * ((WindowUtil.StringToUint(this._param3) + 0x1d) / 30)); } return(num); case TaskCommand.Task_FindLinkLinkPage1: case TaskCommand.Task_FindLinkHrefPage1: case TaskCommand.Task_FindHrefLinkPage1: case TaskCommand.Task_FindHrefHrefPage1: case TaskCommand.Task_FindSrcLinkPage1: case TaskCommand.Task_FindSrcHrefPage1: case TaskCommand.Task_FindHrefSrcPage1: case TaskCommand.Task_FindLinkSrcPage1: case TaskCommand.Task_FindSrcSrcPage1: if (!string.IsNullOrEmpty(this._param4)) { num = WindowUtil.StringToUint(this._param4) + 1; } return(num); } return(1); }
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 static mshtml.IHTMLElement GetRadioElement(mshtml.IHTMLDocument2 doc, string itemName, string tagStr, string indexStr) { mshtml.IHTMLElementCollection o = (mshtml.IHTMLElementCollection)doc.all.tags("input"); mshtml.IHTMLElement element = null; ElementTag iD = ElementTag.ID; bool flag = false; int num = 0; int num2 = 0; if (!string.IsNullOrEmpty(tagStr)) { iD = (ElementTag)WindowUtil.StringToInt(tagStr); } if (!string.IsNullOrEmpty(indexStr)) { num = WindowUtil.StringToInt(indexStr); } foreach (mshtml.IHTMLElement element2 in o) { if (IsElementMatchType(element2, "radio") && IsElementMatch(element2, iD, itemName, "")) { if (num == num2) { element = element2; flag = true; break; } num2++; } } if (o != null) { Marshal.ReleaseComObject(o); } if (!flag) { o = (mshtml.IHTMLElementCollection)doc.all.tags("label"); foreach (mshtml.IHTMLElement element3 in o) { if (element3.getAttribute("htmlFor", 0) != null) { string str = element3.getAttribute("htmlFor", 0).ToString(); if (!string.IsNullOrEmpty(str)) { mshtml.IHTMLElement ele = doc.all.item(str, Missing.Value) as mshtml.IHTMLElement; if (((ele != null) && IsElementMatchType(ele, "radio")) && IsElementMatch(element3, iD, itemName, "")) { if (num == num2) { element = element3; flag = true; break; } num2++; } } } } } if (o != null) { Marshal.ReleaseComObject(o); } return(element); }
public static mshtml.IHTMLElement GetLinkElement(mshtml.IHTMLDocument2 doc, string itemName, string keyword, string tagStr, string indexStr) { mshtml.IHTMLElement element = null; mshtml.IHTMLElementCollection links; ElementTag outerText = ElementTag.outerText; int num = 0; int num2 = 0; if (!string.IsNullOrEmpty(indexStr)) { num = WindowUtil.StringToInt(indexStr); } if (!string.IsNullOrEmpty(tagStr)) { outerText = (ElementTag)WindowUtil.StringToInt(tagStr); } if (outerText != ElementTag.src) { links = doc.links; if (links == null) { return(element); } keyword = keyword.Trim(); foreach (mshtml.IHTMLElement element3 in links) { if (!IsElementMatch(element3, outerText, itemName, "")) { continue; } if (string.IsNullOrEmpty(keyword)) { if (num2 == num) { element = element3; break; } num2++; continue; } if ((element3.getAttribute("href", 0) != null) && (((string)element3.getAttribute("href", 0)).Trim().IndexOf(keyword) != -1)) { element = element3; break; } } } else { links = doc.images; if (links != null) { foreach (mshtml.IHTMLElement element2 in links) { if (IsElementMatch(element2, outerText, itemName, keyword)) { if (num == num2) { element = element2; break; } num2++; } } Marshal.ReleaseComObject(links); } return(element); } Marshal.ReleaseComObject(links); return(element); }