Class

org.pageobject.core.api

Element

Related Doc: package api

Permalink

abstract class Element extends Logging with WaitFor with ScriptDsl

Wrapper class for a Selenium WebElement. This class provides all possibilities on a WebElement which are also provided by Selenium. That contains information about the WebElement like its size, location or css style but also all user interactions like clicking, filling, submitting etc.

Apart from that there is a special WebElement class for a lot of different types of elements (the most common ones). If you are sure about the element type you want to access, you could use the approtiate case class like DateTimeField or TextField. Using these the locator of the element not only identifies it but also checks if the element's type is as expected. If you're unsure or your web site changes regularly, you could also use UntypedElement. In that case the check if the element found matches the expected type is left out.

This class provides idiomatic Scala access to the services of an underlying WebElement. You can access the wrapped WebElement via the underlying method.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Element
  2. ScriptDsl
  3. WaitFor
  4. DurationDsl
  5. Logging
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Element(typeDescription: String, checker: (WebElement) ⇒ Boolean)

    Permalink

Type Members

  1. type Duration = scala.concurrent.duration.Duration

    Permalink
    Definition Classes
    DurationDsl
  2. type FiniteDuration = scala.concurrent.duration.FiniteDuration

    Permalink
    Definition Classes
    DurationDsl
  3. type TimeUnit = java.util.concurrent.TimeUnit

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl

Abstract Value Members

  1. abstract val factory: ElementFactory

    Permalink

    The factory returning the underlying WebElement wrapped by this Element

    The factory returning the underlying WebElement wrapped by this Element

    Attributes
    protected[org.pageobject]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final val DAYS: java.util.concurrent.TimeUnit(DAYS)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  5. final val HOURS: java.util.concurrent.TimeUnit(HOURS)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  6. final val MICROSECONDS: java.util.concurrent.TimeUnit(MICROSECONDS)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  7. final val MILLISECONDS: java.util.concurrent.TimeUnit(MILLISECONDS)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  8. final val MINUTES: java.util.concurrent.TimeUnit(MINUTES)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  9. final val NANOSECONDS: java.util.concurrent.TimeUnit(NANOSECONDS)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  10. final val SECONDS: java.util.concurrent.TimeUnit(SECONDS)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. def attribute(name: String): Option[String]

    Permalink

    The attribute value of the given attribute name of this element, wrapped in a Some, or None if no such attribute exists on this Element.

    The attribute value of the given attribute name of this element, wrapped in a Some, or None if no such attribute exists on this Element.

    This method invokes getAttribute on the underlying WebElement, passing in the specified name.

    returns

    the attribute with the given name, wrapped in a Some, else None

  13. def clear(): Unit

    Permalink

    Clears this element.

  14. def click(): Unit

    Permalink

    Clicks this element.

  15. def clickAfterAnimation(patienceConfig: PatienceConfig): Unit

    Permalink

    Clicks this element after animation has finished.

    Clicks this element after animation has finished.

    Detects the location of the Element to click and waits duration. After this the location is checked again. The click is only processed if the location and size was not modified. AssertionError is thrown otherwise.

  16. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. def css(name: String): Option[String]

    Permalink

    The value for the given css attribute of this element, wrapped in a Some, or None if no such css attribute exists on this Element.

    The value for the given css attribute of this element, wrapped in a Some, or None if no such css attribute exists on this Element.

    This method invokes getCssValue on the underlying WebElement, passing in the specified name.

    returns

    the attribute with the given name, wrapped in a Some, else None

  18. def debug(msg: ⇒ String, throwable: ⇒ Throwable): Unit

    Permalink
    Definition Classes
    Logging
  19. def debug(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    Logging
  20. implicit def doubleMult(d: Double): DoubleMult

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  21. implicit def durationDouble(n: Double): DurationConversions

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  22. implicit def durationInt(n: Int): DurationConversions

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  23. implicit def durationLong(n: Long): DurationConversions

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  24. implicit def durationToPair(d: Duration): (Long, TimeUnit)

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  25. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. def equals(other: Any): Boolean

    Permalink

    Returns the result of invoking equals on the underlying Element, passing in the specified other object.

    Returns the result of invoking equals on the underlying Element, passing in the specified other object.

    other

    the object with which to compare for equality

    returns

    true if the passed object is equal to this one

    Definition Classes
    Element → AnyRef → Any
  27. def error(msg: ⇒ String, throwable: ⇒ Throwable): Unit

    Permalink
    Definition Classes
    Logging
  28. def error(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    Logging
  29. def executeAsyncScript(script: String, args: AnyRef*)(implicit driver: WebDriver): Any

    Permalink

    Executes an asynchronous piece of JavaScript in the context of the currently selected frame or window.

    Executes an asynchronous piece of JavaScript in the context of the currently selected frame or window.

    Unlike executing synchronous JavaScript, scripts executed with this method must explicitly signal they are finished by invoking the provided callback. This callback is always injected into the executed function as the last argument.

    The first argument passed to the callback function will be used as the script's result. This value will be handled as follows:

    • For an HTML element, this method returns a WebElement
    • For a number, a Long is returned
    • For a boolean, a Boolean is returned
    • For all other cases, a String is returned
    • For an array, return a List<Object> with each object following the rules above. We support nested lists
    • Unless the value is null or there is no return value, in which null is returned

    Script arguments must be a number, boolean, String, WebElement, or a List of any combination of these. An exception will be thrown if the arguments do not meet these criteria. The arguments will be made available to the JavaScript via the "arguments" variable. (Note that although this behavior is specified by Selenium's JavascriptExecutor Javadoc, it may still be possible for the underlying JavascriptExecutor implementation to return an objects of other types. For example, HtmlUnit has been observed to return a java.util.Map for a Javascript object.)

    script

    the JavaScript to execute

    args

    the arguments to the script, may be empty

    returns

    One of Boolean, Long, String, List, WebElement, or null (following Selenium's JavascriptExecutor Javadoc)

    Attributes
    protected
    Definition Classes
    ScriptDsl
  30. def executeScript[T](script: String, args: AnyRef*)(implicit driver: WebDriver): Any

    Permalink

    Executes JavaScript in the context of the currently selected frame or window.

    Executes JavaScript in the context of the currently selected frame or window. The script fragment provided will be executed as the body of an anonymous function.

    Within the script, you can use document to refer to the current document. Local variables will not be available once the script has finished executing, but global variables will.

    To return a value (e.g. if the script contains a return statement), then the following steps will be taken:

    • For an HTML element, this method returns a WebElement
    • For a decimal, a Double is returned
    • For a non-decimal number, a Long is returned
    • For a boolean, a Boolean is returned
    • For all other cases, a String is returned
    • For an array, return a List<Object> with each object following the rules above. We support nested lists
    • Unless the value is null or there is no return value, in which null is returned

    Script arguments must be a number, boolean, String, WebElement, or a List of any combination of these. An exception will be thrown if the arguments do not meet these criteria. The arguments will be made available to the JavaScript via the "arguments" variable. (Note that although this behavior is specified by Selenium's JavascriptExecutor Javadoc, it may still be possible for the underlying JavascriptExecutor implementation to return an objects of other types. For example, HtmlUnit has been observed to return a java.util.Map for a Javascript object.)

    script

    the JavaScript to execute

    args

    the arguments to the script, may be empty

    returns

    One of Boolean, Long, String, List or WebElement. Or null (following Selenium's JavascriptExecutor Javadoc)

    Attributes
    protected
    Definition Classes
    ScriptDsl
  31. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. final val fromNow: scala.concurrent.duration.fromNow.type

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  33. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  34. def hasFocus: Boolean

    Permalink
  35. def hashCode(): Int

    Permalink

    Returns the result of invoking hashCode on the underlying Element.

    Returns the result of invoking hashCode on the underlying Element.

    returns

    a hash code for this object

    Definition Classes
    Element → AnyRef → Any
  36. def info(msg: ⇒ String, throwable: ⇒ Throwable): Unit

    Permalink
    Definition Classes
    Logging
  37. def info(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    Logging
  38. implicit def intMult(i: Int): IntMult

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  39. def isDisplayed: Boolean

    Permalink

    Indicates whether this Element is displayed.

    Indicates whether this Element is displayed.

    This invokes isDisplayed on the underlying WebElement.

    returns

    true if the element is currently displayed

  40. def isEnabled: Boolean

    Permalink

    Indicates whether this Element is enabled.

    Indicates whether this Element is enabled.

    This invokes isEnabled on the underlying WebElement, which will generally return true for everything but disabled input elements.

    returns

    true if the element is currently enabled

  41. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  42. def isSelected: Boolean

    Permalink

    Indicates whether this Element is selected.

    Indicates whether this Element is selected.

    This method, which invokes isSelected on the underlying WebElement, is relevant only for input elements such as checkboxes, options in a single- or multiple-selection list box, and radio buttons. For any other element it will simply return false.

    returns

    true if the element is currently selected or checked

  43. def location: Point

    Permalink

    The XY location of the top-left corner of this Element.

    The XY location of the top-left corner of this Element.

    This invokes getLocation on the underlying WebElement.

    returns

    the location of the top-left corner of this element on the page

  44. def log(level: LogLevel, msg: ⇒ String, throwable: ⇒ Throwable): Unit

    Permalink
    Definition Classes
    Logging
  45. def log(level: LogLevel, msg: ⇒ String): Unit

    Permalink
    Definition Classes
    Logging
  46. implicit def longMult(l: Long): LongMult

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  47. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  48. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  49. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  50. implicit def pairIntToDuration(p: (Int, TimeUnit)): Duration

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  51. implicit def pairLongToDuration(p: (Long, TimeUnit)): FiniteDuration

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  52. def rect: Rect

    Permalink

    The XY location and width/height of this Element.

    The XY location and width/height of this Element.

    This invokes getRect on the underlying WebElement.

    returns

    the location and size of this element on the page

  53. def retry[T](description: String, retryOn: (Throwable) ⇒ Boolean*)(what: ⇒ T): T

    Permalink
    Attributes
    protected
  54. def scrollIntoView(offset: Int = 0): Unit

    Permalink

    scroll the element into the view

  55. def sendKeys(value: String): Unit

    Permalink

    Send keys to the Element.

    Send keys to the Element.

    value

    the keys to send

  56. def setScriptTimeout(timeout: scala.concurrent.duration.FiniteDuration)(implicit driver: WebDriver): Unit

    Permalink

    Sets the amount of time to wait for an asynchronous script to finish execution before throwing an exception.

    Sets the amount of time to wait for an asynchronous script to finish execution before throwing an exception.

    timeout

    the amount of time to wait for an asynchronous script to finish execution before throwing exception

    Attributes
    protected
    Definition Classes
    ScriptDsl
  57. def size: Dimension

    Permalink

    The width/height size of this Element.

    The width/height size of this Element.

    This invokes getSize on the underlying WebElement.

    returns

    the size of the element on the page

  58. final val span: scala.concurrent.duration.span.type

    Permalink
    Attributes
    protected
    Definition Classes
    DurationDsl
  59. def submit(): Unit

    Permalink

    Submits the current form.

  60. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  61. def tagName: String

    Permalink

    The tag name of this element.

    The tag name of this element.

    This method invokes getTagName on the underlying WebElement. Note it returns the name of the tag, not the value of the of the name attribute. For example, it will return will return "input" for the element <input name="city" />, not "city".

    returns

    the tag name of this element

  62. def text: String

    Permalink

    Returns the visible (i.e., not hidden by CSS) text of this element, including sub-elements, without any leading or trailing whitespace.

    Returns the visible (i.e., not hidden by CSS) text of this element, including sub-elements, without any leading or trailing whitespace.

    returns

    the visible text enclosed by this element, or an empty string, if the element encloses no visible text

  63. def toString(): String

    Permalink

    Returns the result of invoking toString on the underlying Element.

    Returns the result of invoking toString on the underlying Element.

    returns

    a string representation of this object

    Definition Classes
    Element → AnyRef → Any
  64. def trace(msg: ⇒ String, throwable: ⇒ Throwable): Unit

    Permalink
    Definition Classes
    Logging
  65. def trace(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    Logging
  66. def underlying: WebElement

    Permalink
    Attributes
    protected[org.pageobject]
  67. def value: String

    Permalink

    Gets this field's value.

    Gets this field's value.

    This method invokes getAttribute("value") on the underlying WebElement.

    returns

    the field's value

  68. def value_=(value: String): Unit

    Permalink

    Sets this field's value.

    Sets this field's value.

    value

    the new value

  69. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  70. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. def waitFor[T](description: String, config: PatienceConfig)(fun: ⇒ T): T

    Permalink
    Attributes
    protected
    Definition Classes
    WaitFor
  73. def waitFor[T](description: String, timeout: FiniteDuration, interval: FiniteDuration)(fun: ⇒ T): T

    Permalink
    Attributes
    protected
    Definition Classes
    WaitFor
  74. def warn(msg: ⇒ String, throwable: ⇒ Throwable): Unit

    Permalink
    Definition Classes
    Logging
  75. def warn(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    Logging
  76. def webElement: WebElement

    Permalink

    webElement can be used to access the underlying selenium WebElement.

    webElement can be used to access the underlying selenium WebElement.

    returns

    the underlying WebElement

  77. def withPatience[T](map: PatienceMap)(fun: ⇒ T): T

    Permalink
    Attributes
    protected
    Definition Classes
    WaitFor
  78. def withPatience[T](config: (PatienceConfig, PatienceConfig)*)(fun: ⇒ T): T

    Permalink
    Attributes
    protected
    Definition Classes
    WaitFor

Inherited from ScriptDsl

Inherited from WaitFor

Inherited from DurationDsl

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped