接到一個需求,要將grafana裏面的報表自動截圖發送質量週報,由於grafana自帶的圖片轉化,中文顯示不出來,而且及其不好用,於是,就想到用selenium自動控制瀏覽器去截圖,並將圖片自動寫入到html文件中,用的是python
環境準備
1.python3
2.selenium庫(pip3 install selenium)
Demo
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
import datetime
import os
def login(drive,username,passwd):
input = drive.find_element_by_xpath("//input[@name='username']")
input.send_keys(username)
input = drive.find_element_by_xpath("//input[@name='password']")
input.send_keys(passwd)
input.send_keys(Keys.ENTER)
drive.implicitly_wait(300)
if __name__ == "__main__":
username="xxx" //賬號
passwd="xxx" //密碼
driver = webdriver.Chrome()
driver.maximize_window()
# driver.viewportSize={'width':1024,'height':800}
day = datetime.date.today().strftime('%y%m') + '01'
url = "xxx" //你的grafana地址
driver.get(url)
login(driver, username, passwd)
ele = driver.find_element_by_id('panel-51')
ActionChains(driver).move_to_element(ele).perform()
ele.screenshot('png/bug歷史問題的解決時間.png')
driver.close()