Exemple #1
0
        private async Task OnTimerTick()
        {
            Debug.WriteLine($"Timer tick: {_inputValueTmp}");
            _timer.Stop();

            _searchString = _inputValueTmp;

            if (!_isOpen)
            {
                _inputElementInfo = await JsRuntime.InvokeAsync <HtmlElementInfo>("getElementInfo", _inputElementReference);

                _isOpen = true;
            }


            if (SourceFiltered.Count == 0)
            {
                if (AllowAdd)
                {
                    _isAddOpen = true;
                    _isOpen    = false;
                }
                else
                {
                    _isAddOpen = false;
                }
            }
            else
            {
                _isAddOpen = false;
            }

            await InvokeAsync(() => { this.StateHasChanged(); });
        }
Exemple #2
0
        private async Task OnOpenClick(MouseEventArgs args)
        {
            _inputElementInfo = await JsRuntime.InvokeAsync <HtmlElementInfo>("getElementInfo", _inputElementReference);

            _searchString = "";
            _isOpen       = !_isOpen;
            _isAddOpen    = false;
        }
Exemple #3
0
        private void open_automate_webBrowser(object sender, RoutedEventArgs e)
        {
            ABForScreenshot browser = new ABForScreenshot();

            new MetroWindow()
            {
                Content = browser, Title = "Automation Browser"
            }.ShowDialog();


            htmlElementInfo = browser.screenshot_HtmlElementInfo;
        }
Exemple #4
0
        private async Task OnOpenClick()
        {
            _inputElementInfo = await JsRuntime.InvokeAsync <HtmlElementInfo>("getElementInfo", _inputElementReference);

            if (Value == DateTime.MinValue)
            {
                Value = DateTime.Now;
            }


            _isOpen = !_isOpen;
            InitCalendar();
        }
        private void open_automate_webBrowser(object sender, RoutedEventArgs e)
        {
            ABForScreenshot browser = new ABForScreenshot(webBrowserInstance_combo.Text);

            new MetroWindow()
            {
                Content = browser, Title = "Get Object Details"
            }.ShowDialog();


            htmlElementInfo = browser.screenshot_HtmlElementInfo;

            address_textBlock.Text = browser.selenium_url;
            control_textBlock.Text = "<" + browser.screenshot_HtmlElementInfo.Html_element_tag + "> id=\"" + browser.screenshot_HtmlElementInfo.Html_element_id + "\" class=\"" +
                                     browser.screenshot_HtmlElementInfo.Html_element_class + "\" name=\"" + browser.screenshot_HtmlElementInfo.Html_element_name + "\"" + "XPath= " + browser.screenshot_HtmlElementInfo.Html_element_XPATH;
        }
        void document_MouseDown(object sender, System.Windows.Forms.HtmlElementEventArgs e)
        {
            try
            {
                if (e.MouseButtonsPressed == System.Windows.Forms.MouseButtons.Right)
                {
                    System.Windows.Forms.HtmlElement element = this.automation_browser.Document.GetElementFromPoint(e.ClientMousePosition);

                    string className = element.GetAttribute("className");
                    string idName    = element.GetAttribute("id");
                    string tagName   = element.TagName;
                    string name      = element.GetAttribute("name").Trim();


                    //******************* for testing XPATH *****************



                    var savedId  = element.Id;
                    var uniqueId = Guid.NewGuid().ToString();
                    element.Id = uniqueId;

                    var doc = new HtmlAgilityPack.HtmlDocument();
                    doc.LoadHtml(element.Document.GetElementsByTagName("html")[0].OuterHtml);
                    element.Id = savedId;

                    var    node  = doc.GetElementbyId(uniqueId);
                    string xpath = node.XPath;



                    string[] parentNodes = xpath.Split('/');

                    parentCounting = 0;
                    string XPATH = "";
                    try
                    {
                        System.Windows.Forms.HtmlElement starting_element = Finding_Parent_With_Identifier(element);

                        string starting_element_idName = starting_element.GetAttribute("id");

                        string startingPattern = @"//*[@";
                        string middlePattern   = "=" + '"'; //"="";
                        string endingPattern   = '"' + "]"; //""]";

                        XPATH = startingPattern + "id" + middlePattern + starting_element_idName + endingPattern;

                        for (int i = parentNodes.Length - parentCounting + 1; i < parentNodes.Length; i++)
                        {
                            string tmp = '/' + parentNodes[i];
                            XPATH += tmp;
                        }
                    }
                    catch (Exception ex)
                    {
                    }



                    //******************* for testing XPATH *****************


                    //MessageBox.Show(XPATH);

                    //MessageBox.Show(xpath);

                    string element_tagName = element.TagName.ToString();

                    selenium_id = element.GetAttribute("id").Trim();
                    if (!input_id_check_str.Contains(selenium_id.ToLower()))
                    {
                        string           msgtext = "Select this Element?";
                        string           txt     = Application.Current.MainWindow.Title;
                        MessageBoxButton button  = MessageBoxButton.YesNoCancel;
                        MessageBoxResult result  = MessageBox.Show(msgtext, txt, button);

                        switch (result)
                        {
                        case MessageBoxResult.Yes:


                            input_id_check_str.Add(selenium_id.ToLower());
                            selenium_name = element.GetAttribute("name").Trim();
                            screenshot_HtmlElementInfo = new HtmlElementInfo()
                            {
                                Html_element_id    = selenium_id,
                                Html_element_name  = selenium_name,
                                Html_element_class = className,
                                Html_element_tag   = element_tagName,
                                Html_element_XPATH = XPATH
                            };

                            //(this.Parent as MetroWindow).DialogResult = true;
                            //(this.Parent as MetroWindow).Close();
                            break;

                        case MessageBoxResult.No:

                            break;

                        case MessageBoxResult.Cancel:

                            break;
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }