You can take screenshot of browser with browser.
Python:
you can use get_screenshot_as_file(path_to_save).
# -*- coding: UTF-8 -*-
import unittest
from selenium import webdriver
class TestClass(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_MahsumAkbasNet_Pass(self):
self.driver.get("http://www.mahsumakbas.net/selenium")
self.driver.save_screenshot("D:\\python_selenium_screenshot.jpg")
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
There is wrapper function around that is save_screenshot(). also, you can take screenshot as binary by get_screenshot_as_png() and you can get the screenshot of the current window as a base64 encoded string which is useful in embedded images in HTML by get_screenshot_as_base64() function
Java:
you can use getScreenshotAs(arg0) function
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.*;
public class Screenshot {
static WebDriver driver = new FirefoxDriver();
public static void main(String[] args) throws IOException {
driver.get("http://www.mahsumakbas.net/selenium");
File scrSht = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrSht, new File("D:\\JavaSeleniumScreenshot.jpg"));
driver.quit();
}
}