Interface JSHandle

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      ElementHandle asElement()
      Returns either null or the object handle itself, if the object handle is an instance of ElementHandle.
      void dispose()
      The jsHandle.dispose method stops referencing the element handle.
      default java.lang.Object evaluate​(java.lang.String expression)
      Returns the return value of expression.
      java.lang.Object evaluate​(java.lang.String expression, java.lang.Object arg)
      Returns the return value of expression.
      default JSHandle evaluateHandle​(java.lang.String expression)
      Returns the return value of expression as a JSHandle.
      JSHandle evaluateHandle​(java.lang.String expression, java.lang.Object arg)
      Returns the return value of expression as a JSHandle.
      java.util.Map<java.lang.String,​JSHandle> getProperties()
      The method returns a map with **own property names** as keys and JSHandle instances for the property values.
      JSHandle getProperty​(java.lang.String propertyName)
      Fetches a single property from the referenced object.
      java.lang.Object jsonValue()
      Returns a JSON representation of the object.
    • Method Detail

      • asElement

        ElementHandle asElement()
        Returns either null or the object handle itself, if the object handle is an instance of ElementHandle.
        Since:
        v1.8
      • dispose

        void dispose()
        The jsHandle.dispose method stops referencing the element handle.
        Since:
        v1.8
      • evaluate

        default java.lang.Object evaluate​(java.lang.String expression)
        Returns the return value of expression.

        This method passes this handle as the first argument to expression.

        If expression returns a Promise, then handle.evaluate would wait for the promise to resolve and return its value.

        **Usage**

        
         ElementHandle tweetHandle = page.querySelector(".tweet .retweets");
         assertEquals("10 retweets", tweetHandle.evaluate("node => node.innerText"));
         
        Parameters:
        expression - JavaScript expression to be evaluated in the browser context. If the expression evaluates to a function, the function is automatically invoked.
        Since:
        v1.8
      • evaluate

        java.lang.Object evaluate​(java.lang.String expression,
                                  java.lang.Object arg)
        Returns the return value of expression.

        This method passes this handle as the first argument to expression.

        If expression returns a Promise, then handle.evaluate would wait for the promise to resolve and return its value.

        **Usage**

        
         ElementHandle tweetHandle = page.querySelector(".tweet .retweets");
         assertEquals("10 retweets", tweetHandle.evaluate("node => node.innerText"));
         
        Parameters:
        expression - JavaScript expression to be evaluated in the browser context. If the expression evaluates to a function, the function is automatically invoked.
        arg - Optional argument to pass to expression.
        Since:
        v1.8
      • evaluateHandle

        default JSHandle evaluateHandle​(java.lang.String expression)
        Returns the return value of expression as a JSHandle.

        This method passes this handle as the first argument to expression.

        The only difference between jsHandle.evaluate and jsHandle.evaluateHandle is that jsHandle.evaluateHandle returns JSHandle.

        If the function passed to the jsHandle.evaluateHandle returns a Promise, then jsHandle.evaluateHandle would wait for the promise to resolve and return its value.

        See Page.evaluateHandle() for more details.

        Parameters:
        expression - JavaScript expression to be evaluated in the browser context. If the expression evaluates to a function, the function is automatically invoked.
        Since:
        v1.8
      • evaluateHandle

        JSHandle evaluateHandle​(java.lang.String expression,
                                java.lang.Object arg)
        Returns the return value of expression as a JSHandle.

        This method passes this handle as the first argument to expression.

        The only difference between jsHandle.evaluate and jsHandle.evaluateHandle is that jsHandle.evaluateHandle returns JSHandle.

        If the function passed to the jsHandle.evaluateHandle returns a Promise, then jsHandle.evaluateHandle would wait for the promise to resolve and return its value.

        See Page.evaluateHandle() for more details.

        Parameters:
        expression - JavaScript expression to be evaluated in the browser context. If the expression evaluates to a function, the function is automatically invoked.
        arg - Optional argument to pass to expression.
        Since:
        v1.8
      • getProperties

        java.util.Map<java.lang.String,​JSHandle> getProperties()
        The method returns a map with **own property names** as keys and JSHandle instances for the property values.

        **Usage**

        
         JSHandle handle = page.evaluateHandle("() => ({ window, document })");
         Map<String, JSHandle> properties = handle.getProperties();
         JSHandle windowHandle = properties.get("window");
         JSHandle documentHandle = properties.get("document");
         handle.dispose();
         
        Since:
        v1.8
      • getProperty

        JSHandle getProperty​(java.lang.String propertyName)
        Fetches a single property from the referenced object.
        Parameters:
        propertyName - property to get
        Since:
        v1.8
      • jsonValue

        java.lang.Object jsonValue()
        Returns a JSON representation of the object. If the object has a toJSON function, it **will not be called**.

        NOTE: The method will return an empty JSON object if the referenced object is not stringifiable. It will throw an error if the object has circular references.

        Since:
        v1.8