public String getValue() { return getAttribute("value").replace("\r\n", "\n"); }
/** * @deprecated Use {@link #getTagName()} instead, this method will be removed in the near future. */ public String getElementName() { return getTagName(); }
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()); }
private int populateArguments(int result, Pointer scriptArgs, Object... args) { for (Object arg : args) { if (arg instanceof String) { result = lib.wdAddStringScriptArg(scriptArgs, new WString((String) arg)); } else if (arg instanceof Boolean) { Boolean param = (Boolean) arg; result = lib.wdAddBooleanScriptArg(scriptArgs, param == null || !param ? 0 : 1); } else if (arg instanceof Double || arg instanceof Float) { Double number = ((Number) arg).doubleValue(); result = lib.wdAddDoubleScriptArg(scriptArgs, number); } else if (arg instanceof Number) { long number = ((Number) arg).longValue(); result = lib.wdAddNumberScriptArg(scriptArgs, new NativeLong(number)); } else if (arg instanceof InternetExplorerElement) { result = ((InternetExplorerElement) arg).addToScriptArgs(scriptArgs); } else { throw new IllegalArgumentException("Parameter is not of recognized type: " + arg); } errors.verifyErrorCode(result, ("Unable to add argument: " + arg)); } return result; }
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 boolean toggle() { IntByReference toReturn = new IntByReference(); int result = lib.wdeToggle(element, toReturn); if (result == 9) { throw new UnsupportedOperationException("You may not toggle this element: " + getTagName()); } errors.verifyErrorCode(result, "toggle"); return toReturn.getValue() == 1; }
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()); }
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()); }
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;