public Activity Create(System.Windows.DependencyObject target) { var fef = new GetElement(); var aa = new ActivityAction <IEElement>(); var da = new DelegateInArgument <IEElement>(); da.Name = "item"; fef.Body = aa; aa.Argument = da; return(fef); }
private void OnMouseUp(InputEventArgs e) { var thread = new Thread(new ThreadStart(() => { Log.Debug(string.Format("IE.Recording::OnMouseUp::begin")); var re = new RecordEvent(); re.Button = e.Button; var a = new GetElement { DisplayName = e.Element.Id + "-" + e.Element.Name }; var browser = new Browser(e.Element.rawElement); var htmlelement = browser.ElementFromPoint(e.X, e.Y); if (htmlelement == null) { return; } var sw = new System.Diagnostics.Stopwatch(); sw.Start(); IESelector sel = null; // sel = new IESelector(e.Element.rawElement, null, true); sel = new IESelector(htmlelement, null, browser.Document, false); if (sel == null) { return; } if (sel.Count < 2) { return; } a.Selector = sel.ToString(); re.UIElement = e.Element; re.Element = new IEElement(htmlelement); re.Selector = sel; re.X = e.X; re.Y = e.Y; Log.Debug(e.Element.SupportInput + " / " + e.Element.ControlType); re.a = new GetElementResult(a); if (htmlelement.tagName.ToLower() == "input") { mshtml.IHTMLInputElement inputelement = (mshtml.IHTMLInputElement)htmlelement; re.SupportInput = (inputelement.type.ToLower() == "text" || inputelement.type.ToLower() == "password"); } Log.Debug(string.Format("IE.Recording::OnMouseUp::end {0:mm\\:ss\\.fff}", sw.Elapsed)); OnUserAction?.Invoke(this, re); })); thread.IsBackground = true; thread.Start(); }
public bool parseUserAction(ref IRecordEvent e) { if (e.UIElement == null) { return(false); } if (e.UIElement.ProcessId < 1) { return(false); } var p = System.Diagnostics.Process.GetProcessById(e.UIElement.ProcessId); if (p.ProcessName != "iexplore" && p.ProcessName != "iexplore.exe") { return(false); } var browser = new Browser(e.UIElement.rawElement); var htmlelement = browser.ElementFromPoint(e.X, e.Y); if (htmlelement == null) { return(false); } var selector = new IESelector(htmlelement, null, browser.Document, false); var a = new GetElement { DisplayName = htmlelement.id + "-" + htmlelement.tagName + "-" + htmlelement.className }; a.Selector = selector.ToString(); var tagName = htmlelement.tagName; if (string.IsNullOrEmpty(tagName)) { tagName = ""; } tagName = tagName.ToLower(); e.a = new GetElementResult(a); if (tagName == "input") { mshtml.IHTMLInputElement inputelement = (mshtml.IHTMLInputElement)htmlelement; e.SupportInput = (inputelement.type.ToLower() == "text" || inputelement.type.ToLower() == "password"); } return(true); }
public Activity Create(System.Windows.DependencyObject target) { Type t = typeof(GetElement); var wfdesigner = Plugin.client.Window.LastDesigner; WFHelper.DynamicAssemblyMonitor(wfdesigner.WorkflowDesigner, t.Assembly.GetName().Name, t.Assembly, true); var fef = new GetElement(); var aa = new ActivityAction <IEElement>(); var da = new DelegateInArgument <IEElement>(); da.Name = "item"; fef.Body = aa; aa.Argument = da; return(fef); }
public GetElementResult(GetElement activity) { Activity = activity; }
private void OnMouseUp(InputEventArgs e) { try { Log.Debug(string.Format("IE.Recording::OnMouseUp::begin")); var re = new RecordEvent { Button = e.Button }; var a = new GetElement { DisplayName = (e.Element.Name).Replace(Environment.NewLine, "").Trim() }; var browser = new Browser(e.Element.RawElement); var htmlelement = browser.ElementFromPoint(e.X, e.Y); if (htmlelement == null) { return; } var sw = new System.Diagnostics.Stopwatch(); sw.Start(); IESelector sel = null; // sel = new IESelector(e.Element.rawElement, null, true); GenericTools.RunUI(() => { sel = new IESelector(browser, htmlelement, null, false, e.X, e.Y); }); if (sel == null) { return; } if (sel.Count < 2) { return; } a.Selector = sel.ToString(); a.Image = sel.Last().Element.ImageString(); re.UIElement = e.Element; re.Element = new IEElement(browser, htmlelement); re.Selector = sel; re.X = e.X; re.Y = e.Y; Log.Debug(e.Element.SupportInput + " / " + e.Element.ControlType); re.a = new GetElementResult(a); if (htmlelement.tagName.ToLower() == "input" && htmlelement.tagName.ToLower() == "select") { MSHTML.IHTMLInputElement inputelement = (MSHTML.IHTMLInputElement)htmlelement; re.SupportInput = (inputelement.type.ToLower() == "text" || inputelement.type.ToLower() == "password"); } re.SupportSelect = false; Log.Debug(string.Format("IE.Recording::OnMouseUp::end {0:mm\\:ss\\.fff}", sw.Elapsed)); OnUserAction?.Invoke(this, re); } catch (Exception ex) { Log.Error(ex.ToString()); } //var thread = new Thread(new ThreadStart(() => //{ //})); //thread.IsBackground = true; //thread.Start(); }
public bool ParseUserAction(ref IRecordEvent e) { if (e.UIElement == null) { return(false); } if (e.UIElement.ProcessId < 1) { return(false); } using (var p = System.Diagnostics.Process.GetProcessById(e.UIElement.ProcessId)) { if (p.ProcessName != "iexplore" && p.ProcessName != "iexplore.exe") { return(false); } } var browser = new Browser(); var htmlelement = browser.ElementFromPoint(e.X, e.Y); if (htmlelement == null) { return(false); } var selector = new IESelector(browser, htmlelement, null, true, e.X, e.Y); e.Selector = selector; e.Element = new IEElement(browser, htmlelement); var a = new GetElement { DisplayName = (htmlelement.id + "-" + htmlelement.tagName + "-" + htmlelement.className).Replace(Environment.NewLine, "").Trim() }; a.Variables.Add(new Variable <int>("Index", 0)); a.Variables.Add(new Variable <int>("Total", 0)); a.Selector = selector.ToString(); var last = selector.Last() as IESelectorItem; a.Image = last.Element.ImageString(); var tagName = htmlelement.tagName; if (string.IsNullOrEmpty(tagName)) { tagName = ""; } tagName = tagName.ToLower(); e.a = new GetElementResult(a); //if (tagName == "input") //{ // // MSHTML.IHTMLInputElement inputelement = (MSHTML.IHTMLInputElement)htmlelement; // e.SupportInput = (last.type.ToLower() == "text" || last.type.ToLower() == "password"); //} // if (htmlelement.tagName.ToLower() == "input" && htmlelement.tagName.ToLower() == "select") if (htmlelement.tagName.ToLower() == "input") { MSHTML.IHTMLInputElement inputelement = (MSHTML.IHTMLInputElement)htmlelement; e.SupportInput = (inputelement.type.ToLower() == "text" || inputelement.type.ToLower() == "password"); } e.SupportSelect = htmlelement.tagName.ToLower() == "select"; return(true); }
private void ParseMouseUp(InputEventArgs e) { try { // if(string.IsNullOrEmpty(Thread.CurrentThread.Name)) Thread.CurrentThread.Name = "IE.Plugin.OnMouseUP"; Log.Debug(string.Format("IE.Recording::OnMouseUp::begin")); var re = new RecordEvent { Button = e.Button }; var a = new GetElement { DisplayName = (e.Element.Name).Replace(Environment.NewLine, "").Trim() }; a.Variables.Add(new Variable <int>("Index", 0)); a.Variables.Add(new Variable <int>("Total", 0)); using (var p = System.Diagnostics.Process.GetProcessById(e.Element.ProcessId)) { if (p.ProcessName != "iexplore" && p.ProcessName != "iexplore.exe") { return; } } var browser = new Browser(); var htmlelement = browser.ElementFromPoint(e.X, e.Y); if (htmlelement == null) { return; } var sw = new System.Diagnostics.Stopwatch(); sw.Start(); IESelector sel = null; // sel = new IESelector(e.Element.rawElement, null, true); GenericTools.RunUI(() => { try { sel = new IESelector(browser, htmlelement, null, false, e.X, e.Y); } catch (Exception ex) { Log.Error(ex.ToString()); } }); if (sel == null) { return; } if (sel.Count < 2) { return; } a.Selector = sel.ToString(); a.Image = sel.Last().Element.ImageString(); re.UIElement = e.Element; re.Element = new IEElement(browser, htmlelement); re.Selector = sel; re.X = e.X; re.Y = e.Y; Log.Debug(e.Element.SupportInput + " / " + e.Element.ControlType); re.a = new GetElementResult(a); //if (htmlelement.tagName.ToLower() == "input" && htmlelement.tagName.ToLower() == "select") if (htmlelement.tagName.ToLower() == "input") { MSHTML.IHTMLInputElement inputelement = (MSHTML.IHTMLInputElement)htmlelement; re.SupportInput = (inputelement.type.ToLower() == "text" || inputelement.type.ToLower() == "password"); } re.SupportSelect = false; Log.Debug(string.Format("IE.Recording::OnMouseUp::end {0:mm\\:ss\\.fff}", sw.Elapsed)); OnUserAction?.Invoke(this, re); } catch (Exception ex) { Log.Error(ex.ToString()); } }