Exemple #1
0
        void methodComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            var currentElement = action.GetElement();

            if (currentElement == null)
            {
                valueTextBox.Text = "";
                return;
            }
            FindMethods value = (FindMethods)Enum.Parse(typeof(FindMethods), methodComboBox.SelectedItem.ToString(), true);

            switch (value)
            {
            case FindMethods.ProximityText:
                valueTextBox.Text = Title;
                break;

            case FindMethods.Alt:
            case FindMethods.Class:
            case FindMethods.For:
            case FindMethods.Href:
            case FindMethods.Id:
            case FindMethods.Index:
            case FindMethods.Name:
            case FindMethods.Src:
            case FindMethods.Title:
            case FindMethods.Url:
            case FindMethods.Value:
                //case FindMethods.Style:
                if (currentElement.Exists)
                {
                    valueTextBox.Text = currentElement.GetAttributeValue(value.ToString());
                }
                break;

            case FindMethods.XPath:
                if (currentElement.Exists)
                {
                    valueTextBox.Text = XPathFinder.GetXPath(currentElement);
                }
                break;

            case FindMethods.CssSelector:
                if (currentElement.Exists)
                {
                    valueTextBox.Text = currentElement.GetAttributeValue("__selector");
                }
                break;

            case FindMethods.Text:
                if (currentElement.Exists)
                {
                    valueTextBox.Text = currentElement.Text;
                }
                break;

            default:
                break;
            }
        }
Exemple #2
0
        void strip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            ToolStripMenuItem item    = e.ClickedItem as ToolStripMenuItem;
            IHTMLElement      element = item.Tag as IHTMLElement;

            switch (item.Name)
            {
            case "copyHTML":
                Clipboard.SetText(element.outerHTML);
                break;

            case "copyInnerHTML":
                Clipboard.SetText(element.innerHTML);
                break;

            case "copyXPATH":
                Clipboard.SetText(XPathFinder.GetXPath(element, true));
                break;

            case "delete":
                TreeNode node = this.SelectedNode;
                if (node != null)
                {
                    IHTMLDOMNode domNode = node.Tag as IHTMLDOMNode;
                    domNode.parentNode.removeChild(domNode);
                    node.Remove();
                }
                break;

            default:
                break;
            }
        }
Exemple #3
0
        private void UpdateXPath(IHTMLElement element)
        {
            string path = "";

            if (typeComboBox.SelectedIndex == 0)
            {
                path = XPathFinder.GetXPath(element, true);
            }
            else
            {
                path = this.Selector.GetCssPath(element, false);
            }
            this.xpathBox.Text = path;
        }
Exemple #4
0
        public bool Recognize(ScriptObject so)
        {
            string[]      arr         = so.Similarity.Split(",".ToArray());
            var           inputs      = Context.Browser.GetElementsByTag("input");
            List <string> inputXPaths = new List <string>();

            foreach (var o in inputs)
            {
                string xpath = XPathFinder.GetXPath(o);
                inputXPaths.Add(xpath.GetHashCode().ToString());
            }
            //var inputs = context.Browser.TextFields.Select(c => XPathFinder.GetXPath(c).GetHashCode().ToString()).ToArray();
            return(arr.Intersect(inputXPaths).Count() > 0);
        }
Exemple #5
0
        public virtual void AddGridRow(IHTMLElement element)
        {
            int RowIndex = gridElement.RowsCount++;

            gridElement[RowIndex, 0] = new Cell(FindMethods.XPath.ToString(), new TextBox(typeof(string)));
            var id = element.getAttribute("id", 0) == null ? "" : element.getAttribute("id", 0).ToString();

            gridElement[RowIndex, 1] = new Cell(id, new TextBox(typeof(string)));
            var val = XPathFinder.GetXPath(element);

            gridElement[RowIndex, 2] = new Cell(val, new TextBox(typeof(string)));

            var btnDelete = new Button("");

            gridElement[RowIndex, 3] = btnDelete;
            var bmpDelete = new Bitmap(ucBaseElement.GetIconFullPath("db-Delete.bmp"));

            bmpDelete.MakeTransparent(Color.Fuchsia);
            gridElement[RowIndex, 3].Image = bmpDelete;
            var buttonClickEvent = new SourceGrid.Cells.Controllers.Button();

            buttonClickEvent.Executed += DeleteFindButton_Click;
            gridElement[RowIndex, 3].Controller.AddController(buttonClickEvent);
        }