public WebElement findElementByClassName(String using) { if (using == null) throw new IllegalArgumentException("Cannot find elements when the class name expression is null."); if (using.matches(".*\\s+.*")) { throw new IllegalLocatorException( "Compound class names are not supported. Consider searching for one class name and filtering the results."); } PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementByClassName(driver, element, new WString(using), rawElement); handleErrorCode("id", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
public WebElement activeElement() { PointerByReference element = new PointerByReference(); int result = lib.wdSwitchToActiveElement(driver, element); errors.verifyErrorCode(result, "Unable to find active element"); return new InternetExplorerElement(lib, InternetExplorerDriver.this, element.getValue()); }
public WebElement findElementByName(String using) { PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementByName(driver, element, new WString(using), rawElement); handleErrorCode("name", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
public WebElement findElementByPartialLinkText(String using) { PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementByPartialLinkText(driver, element, new WString(using), rawElement); handleErrorCode("link text", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
public WebElement findElementByLinkText(String using) { PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementByLinkText(driver, element, new WString(using), rawElement); handleErrorCode("link text", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
public WebElement findElementByTagName(String using) { PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementByTagName(driver, element, new WString(using), rawElement); handleErrorCode("xpath", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
public WebElement findElementByXPath(String using) { PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementByXPath(driver, element, new WString(using), rawElement); handleErrorCode("xpath", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
private List<WebElement> extractElements(ExportedWebDriverFunctions lib, InternetExplorerDriver driver, Pointer rawElements) { IntByReference length = new IntByReference(); int result = lib.wdcGetElementCollectionLength(rawElements, length); if (result != SUCCESS) { freeElements(lib, rawElements); throw new IllegalStateException("Cannot extract elements from collection: " + result); } List<WebElement> toReturn = new ArrayList<WebElement>(length.getValue()); for (int i = 0; i < length.getValue(); i++) { PointerByReference element = new PointerByReference(); result = lib.wdcGetElementAtIndex(rawElements, i, element); if (result != SUCCESS) { freeElements(lib, rawElements); throw new IllegalStateException( String.format("Cannot extract element from collection at index: %d (%d)", i, result)); } toReturn.add(new InternetExplorerElement(lib, driver, element.getValue())); } // TODO: Free memory from the collection freeCollection(lib, rawElements); return toReturn; }
public WebElement findElementById(String using) { PointerByReference rawElement = new PointerByReference(); int result = lib.wdFindElementById(driver, element, new WString(using), rawElement); handleErrorCode("id", using, result); return new InternetExplorerElement(lib, parent, rawElement.getValue()); }
result = lib.wdGetElementScriptResult(scriptResult, driver, element); errors.verifyErrorCode(result, "Cannot extract element result"); toReturn = new InternetExplorerElement(lib, this, element.getValue()); break;