コード例 #1
0
        public IWebElement FindOneElement(By mechanism, string locator)
        {
            ElementWrapper rawElement = new ElementWrapper();
            int result;
            ElementWrapper parent = new ElementWrapper();

            try
            {
                switch (mechanism)
                {
                    case By.Id:
                        result = wdFindElementById(handle, parent, locator, ref rawElement);
                        break;

                    case By.LinkText:
                        result = wdFindElementByLinkText(handle, parent, locator, ref rawElement);
                        break;

                    case By.Name:
                        result = wdFindElementByName(handle, parent, locator, ref rawElement);
                        break;

                    default:
                        throw new ArgumentException("Unrecognised element location mechanism: " + mechanism);
                }

                if (result != 0)
                {
                    throw new Exception("Cannot locate element");
                }
                return new InternetExplorerWebElement(this, rawElement);
            }
            catch (SEHException)
            {
                // Unable to find the element
                return null;
            }
        }
コード例 #2
0
 private static extern int wdFindElementByName(SafeHandle driver, ElementWrapper element, [MarshalAs(UnmanagedType.LPWStr)] String id, ref ElementWrapper result);
コード例 #3
0
 private static extern int wdeToggle(ElementWrapper handle, ref int toggled);
コード例 #4
0
 public InternetExplorerWebElement(InternetExplorerDriver driver, ElementWrapper wrapper)
 {
     this.driver = driver;
     this.wrapper = wrapper;
 }
コード例 #5
0
 private static extern int wdeSetSelected(ElementWrapper handle);
コード例 #6
0
 private static extern int wdeSubmit(ElementWrapper wrapper);
コード例 #7
0
 private static extern int wdeIsSelected(ElementWrapper handle, ref int selected);
コード例 #8
0
 private static extern int wdeSendKeys(ElementWrapper wrapper, [MarshalAs(UnmanagedType.LPWStr)] string text);
コード例 #9
0
 private static extern int wdeIsDisplayed(ElementWrapper handle, ref int displayed);
コード例 #10
0
 private static extern int wdeGetText(ElementWrapper wrapper, ref StringWrapperHandle result);
コード例 #11
0
 private static extern int wdeGetDetailsOnceScrolledOnToScreen(ElementWrapper wrapper, ref IntPtr hwnd, ref int x, ref int y, ref int width, ref int height);
コード例 #12
0
 private static extern int wdeGetAttribute(ElementWrapper wrapper, [MarshalAs(UnmanagedType.LPWStr)] string attributeName, ref StringWrapperHandle result);
コード例 #13
0
 private static extern int wdeClear(ElementWrapper handle);