Capturing screenshots of elements in the Selenium WebDriver
The TakesScreenshot
interface captures the screenshot of the entire page, current window, visible portion of the page, or of the complete desktop window in their respective order as supported by the browser. It does not provide a way to capture an image of the specific element.
We can extend the screen capture functionality to capture images of WebElement
using the Java Image API in addition to the TakesScreenshot
interface.
In this recipe, we will implement a helper method for capturing images of elements.
How to do it...
Let's implement the captureElementBitmap()
method to capture an image of WebElement
. We will pass an instance WebElement
to this method.
public static File captureElementBitmap(WebElement element) throws Exception { //Get the WrapsDriver of the WebElement WrapsDriver wrapsDriver = (WrapsDriver) element; //Get the entire Screenshot from the driver of passed WebElement File screen = ((TakesScreenshot...