Пример #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;
            }
        }
Пример #2
0
 public FindAttribute(FindMethods findmethod, string findname, string findvalue, bool regex)
 {
     FindMethod = findmethod;
     FindName   = findname;
     FindValue  = findvalue;
     Regex      = regex;
 }
Пример #3
0
 public bool IsMethodUsed(FindMethods method)
 {
     foreach (FindAttribute attribute in FindMechanism)
     {
         if (attribute.FindMethod == method)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #4
0
        public void SetFindMethod(IHTMLElement element, FindMethods method, string value)
        {
            FindAttribute Finder = new FindAttribute();

            Finder.FindMethod = method;
            Finder.FindValue  = value;
            FindMechanism.Add(Finder);
            if (element == null)
            {
                return;
            }
            SetFrameList(element);
            ElementType = TagStringToElementType(element);
        }
Пример #5
0
        protected FindAttribute GetFinder(IHTMLElement element, FindMethods method)
        {
            FindAttribute finder = new FindAttribute();

            finder.FindMethod = method;
            if (method == FindMethods.XPath)
            {
                finder.FindValue = XPathFinder.GetXPath(element);
            }
            else if (method == FindMethods.CssSelector)
            {
                finder = GetCssPathFinder(element);
            }
            else
            {
                finder.FindValue = ActiveElementAttribute(element, method.ToString());
            }
            return(finder);
        }