How to convert HTML Report to picture format in Email? So that we can see the automation report also at home or on mobile phone anywhere.
We tried to use phantomJs to get the full-page screenshot of HTML, it doesn't work well on some computers, then we found that the newest Chrome doesn't support it anymore, and Chrome has use its Headless mode to replace phantomJs.Version 1 : phantomJs# -*- coding: utf-8 -*-import timeimport osfrom selenium import webdriver jenkinsJobName=os.getenv("JOB_NAME")url="http://10.2.3.3/testAgent/AutoAnaylsisReport.html"print urlsave_fn="buildNumResult.PNG"driver = webdriver.PhantomJS()driver.maximize_window()driver.get(url) # Load pagetime.sleep(30) driver.save_screenshot(save_fn)driver.close()time.sleep(5) os.system("taskkill /F /IM phantomjs.exe")
Version 2: Chrome Headless
# -*- coding: utf-8 -*-import timeimport osfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysurl="http://10.2.4.1/testAgent/BillingAnaylisisReport.html"print urlsave_fn="buildNumResult.PNG"option = webdriver.ChromeOptions()option.add_argument('--headless')option.add_argument('--disable-gpu')option.add_argument("--window-size=1280,1024")option.add_argument("--hide-scrollbars")driver = webdriver.Chrome(chrome_options=option)driver.get(url)print(driver.title)scroll_width = driver.execute_script('return document.body.parentNode.scrollWidth')scroll_height = driver.execute_script('return document.body.parentNode.scrollHeight')driver.set_window_size(scroll_width, scroll_height)driver.save_screenshot(save_fn)driver.quit()