当前位置: 首页 > news >正文

python截取grafana监控面板生产巡检图片

python截取grafana监控面板生产巡检图片

pip3.9 install requests pillow pyscreenshot
pip3.9 install selenium
pip3.9 install  webdriver-manager
pip3.9 install -U webdriver-manager
from selenium import webdriver  # 导入Selenium的webdriver模块,用于控制浏览器
from webdriver_manager.chrome import ChromeDriverManager  # 导入ChromeDriverManager,用于自动管理ChromeDriver
#from selenium.webdriver.chrome.service import Service  # 导入Service模块(未使用,注释掉)
from selenium.webdriver.chrome.options import Options  # 导入Chrome的Options模块,用于配置浏览器选项
from selenium.webdriver.common.keys import Keys  # 导入Keys模块,用于模拟键盘操作
from selenium.webdriver.common.by import By  # 导入By模块,用于指定元素的定位方式
import time  # 导入time模块,用于添加延迟
import pyscreenshot as ImageGrab  # 导入pyscreenshot模块,用于截图(未使用)
import os  # 导入os模块,用于操作系统相关功能# 设置Selenium的WebDriver路径(例如ChromeDriver)
# driver_path = '/data/chromedriver/chromedriver'  # 修改为你的chromedriver路径(未使用,注释掉)# 配置 Chrome 无头模式
chrome_options = Options()  # 创建Chrome选项实例
chrome_options.add_argument("--headless")  # 启用无头模式,不显示浏览器界面
chrome_options.add_argument("--disable-gpu")  # 禁用 GPU 加速,适用于无头模式
chrome_options.add_argument("--no-sandbox")  # 禁用沙盒模式,提高性能
chrome_options.add_argument("--disable-dev-shm-usage")  # 禁用 /dev/shm,避免内存问题# 使用 ChromeDriverManager 安装并获取 ChromeDriver 的路径
driver_path = ChromeDriverManager().install()# 创建 Service 对象
service = webdriver.ChromeService(executable_path=driver_path)# 初始化 WebDriver,同时传递 Service 和 Options
driver = webdriver.Chrome(service=service, options=chrome_options)
# 设置浏览器窗口大小(根据需要调整宽度和高度)
driver.set_window_size(1920, 1080)  # 设置窗口大小为1920x1080# Grafana登录信息
username = 'viewer'  # Grafana用户名
password = 'viewer123'  # Grafana密码
url = 'https://grafana.com.cn'  # Grafana登录页面URL(需要替换为实际URL)
panel_url = 'https://grafana.com.cn/d/N6zRjWB4z/yun-wei-da-ping?orgId=1&refresh=1m&var-job=All'  # Grafana监控面板页面URL(需要替换为实际URL)# 打开Grafana并登录
driver.get(url)  # 打开Grafana登录页面
time.sleep(30)  # 等待页面加载,延迟2秒
username_input = driver.find_element(By.NAME, 'user')  # 定位用户名输入框
username_input.send_keys(username)  # 输入用户名
password_input = driver.find_element(By.NAME, 'password')  # 定位密码输入框
password_input.send_keys(password)  # 输入密码
password_input.send_keys(Keys.RETURN)  # 按下回车键提交表单
time.sleep(30)  # 等待登录完成,延迟2秒# 导航到监控面板页面
driver.get(panel_url)  # 打开监控面板页面
time.sleep(30)  # 等待页面加载完成,延迟5秒(根据页面复杂度调整)# 截图保存
screenshot_path = 'grafana_panel.png'  # 截图保存路径
driver.save_screenshot(screenshot_path)  # 保存截图到指定路径
print(f"Screenshot saved to {screenshot_path}")  # 打印截图保存路径# 关闭浏览器
driver.quit()  # 关闭浏览器并释放资源

相关文章:

  • 手机建网站公司网络互联网推广
  • 高密做网站哪家好代理优化设计
  • 找设计案例的网站北京网站优化公司
  • 苏州到深圳物流公司搜索引擎seo是什么
  • 物流炒货怎么做网站十种营销方式
  • 微信手机网站属性词 关键词 核心词
  • idea中使用Maven创建项目
  • maven中的grpc编译插件protobuf-maven-plugin详解
  • LlamaFirewall:开源框架助力检测与缓解AI核心安全风险
  • Kafka|基础入门
  • Maven-概述-介绍安装
  • Hive数据倾斜优化方法总结
  • ElasticSearch--DSL查询语句
  • C#高级:Winform桌面开发中CheckedListBox的详解
  • Elasticsearch 节点角色详解及协调节点请求策略
  • PHP轻量级聊天室源码(源码下载)
  • 02. [Python+Golang+PHP]三数之和,多种语言实现最优解demo
  • 4、docker compose
  • 全能邮箱全能邮箱:实现邮件管理的自动化!
  • 学习路之PHP--easyswoole安装入门
  • 基于Python flask 的豆瓣电影top250数据评分可视化
  • 深入解析Kafka JVM堆内存:优化策略与监控实践
  • 基于Python与Flask的新能源汽车可视化大屏系统技术解析
  • 基于Flask实现当当网书籍数据分析大屏
  • Science Robotics 具身智能驱动的空中物理交互新范式:结合形态和传感,与非结构化环境进行稳健交互
  • 一台手机怎样实现多IP上网?方法有多种