zabbix監控頁面自動截圖

RedCompu93發表於2018-11-13
#coding:utf-8
import os,sys,time
import xlsxwriter
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
#定義工作目錄
workdir = 'E:\\'
#定義目前時間
current_time = time.strftime("%Y%m%d",time.localtime(time.time()))
#定義截圖函式CUTPAGE
def CUTPAGE(*args,**kwargs):
    try:
        #谷歌瀏覽器對部分埠做限制,如6666。啟動瀏覽器時加上--explicitly-allowed-ports=6666啟動引數,解決ERR_UNSAFE_PORT問題
        options = webdriver.ChromeOptions()
        options.add_argument('--explicitly-allowed-ports=6666')
        #executable_path為瀏覽器驅動程式所在位置
        driver = webdriver.Chrome(executable_path='C:\Users\Administrator4\AppData\Local\Google\Chrome\Application\chromedriver.exe',options=options)
        driver.get(url)
        #視窗最大化
        driver.maximize_window()
        #透過名字定位頁面元素
        username = driver.find_element_by_name('name')
        password = driver.find_element_by_name('password')
        login_button = driver.find_element_by_name('enter')
        #輸入賬號密碼,並點選登入按鈕
        username.send_keys(account)
        password.send_keys(passwd)
        login_button.click()
        #js = "window.scrollTo(0,document.body.scrollHeight);"
        #driver.execute_script(js)
        #暫停5秒,觀察zabbix首頁
        time.sleep(5)
        #截圖
        driver.save_screenshot(workdir+'zabbixpage'+current_time+'.png')
    except:
        print "Fail to capture a screenshot.Please confirm if the username and the password is true!"
        sys.exit(1)
    finally:
        #關閉瀏覽器
        driver.close()
#定義插入圖片函式
def SAVETOEXCEL():
    try:
        #定義excel工作薄
        workbook = xlsxwriter.Workbook(workdir+u'XXXX-日常監控_'+current_time+'.xlsx')
        #增加工作薄sheet頁
        worksheet = workbook.add_worksheet()
        #確定圖片是否存在
        flag = os.path.exists(workdir+'zabbixpage'+current_time+'.png')
        if flag:
            #插入圖片,並對插入圖片進行縮放
            worksheet.insert_image('A1',workdir+'zabbixpage'+current_time+'.png',{'x_scale':0.9,'y_scale':1.15})
    except:
        print "Fail to insert image into excel"
        sys.exit(2)
    finally:
        workbook.close()
if __name__ == '__main__':
    url = '
    account = raw_input(u"請輸入登入zabbix的使用者名稱:".encode('gbk'))
    passwd = raw_input(u"請輸入登入zabbix的密碼:".encode('gbk'))
    CUTPAGE(url=url,account=account,passwd=passwd)
    SAVETOEXCEL()
    flag = os.path.exists(workdir+'zabbixpage'+current_time+'.png')
    if flag:
	    #刪除圖片
	    os.remove(workdir+'zabbixpage'+current_time+'.png')


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31541436/viewspace-2219861/,如需轉載,請註明出處,否則將追究法律責任。

相關文章