Ok, here is a layout of what I did. First you will need to set up the dashboard with what you need for your report.
Here is the link for chromedriver, pretty easy to set up with python pip. https://sites.google.com/a/chromium.org/chromedriver/
And then here is my script.
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
chrome = webdriver.Chrome(chrome_options = options)
A couple of things you will need to change with the script: In the chrome.get() line put your kibana username and password in the beginning of the url, and then after the @ symbol put the url for the dashboard. The link to the dashboard can be found if you go to the dashboard and click on the share button. You will also need to put the path to where you want the screenshot to be saved in the chrome.save_screenshot() line.
As far as emailing the report I have this process set up as an Automate task, so that just picks up the picture from where it is saved and emails it as an attachment. If you want to include the emailing of the report in the script, here is a link about sending email attachments with python: http://stackoverflow.com/questions/3362600/how-to-send-email-attachments-with-python
If you have any problems with this or need me to clarify anything just let me know,