Is it possible to take a screenshot using Selenium WebDriver?
(Note: Not Selenium Remote Control)
Each WebDriver has a .save_screenshot(filename)
method. So for Firefox, it can be used like this:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.google.com/')
browser.save_screenshot('screenie.png')
Confusingly, a .get_screenshot_as_file(filename)
method also exists that does the same thing.
There are also methods for: .get_screenshot_as_base64()
(for embedding in HTML) and .get_screenshot_as_png()
(for retrieving binary data).
And note that WebElements have a .screenshot()
method that works similarly, but only captures the selected element.