您可以用一个简单的
tkinter
应用程序,并在那里添加两个按钮和一个文本小部件来查看记录器信息。下面是一个封装在一个脚本中的基本示例:
import tkinter as tk
from time import sleep
import logging
from tkinter.scrolledtext import ScrolledText
import pyautogui as pag
def open_firefox():
"""Open Firefox browser."""
logging.info('Open Firefox browser.')
try:
firefox_icon_location = pag.locateCenterOnScreen('./asset/firefox.png', confidence=0.75)
if firefox_icon_location is not None:
pag.moveTo(firefox_icon_location, duration=1)
sleep(1)
pag.leftClick()
sleep(1)
logging.info('Firefox browser has been opened.')
else:
logging.error('Firefox icon not found on screen.')
except Exception as e:
logging.error(f"Error opening Firefox: {e}")
def open_new_tab():
"""Open new tab."""
try:
pag.hotkey('ctrl', 't')
sleep(1)
logging.info('New tab opened.')
except Exception as e:
logging.error(f"Error opening new tab: {e}")
class TextHandler(logging.Handler):
""" Custom logging handler sending logs to a Tkinter Text widget. """
def __init__(self, text_widget):
super().__init__()
self.text_widget = text_widget
def emit(self, record):
msg = self.format(record)
self.text_widget.configure(state='normal')
self.text_widget.insert(tk.END, msg + '\n')
self.text_widget.configure(state='disabled')
self.text_widget.yview(tk.END)
if __name__ == '__main__':
root = tk.Tk()
root.title("Firefox Control")
root.geometry("400x400")
log_widget = ScrolledText(root, state='disabled')
log_widget.pack(fill=tk.BOTH, expand=True)
text_handler = TextHandler(log_widget)
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger()
logger.addHandler(text_handler)
logging.info('Start of program.')
button_firefox = tk.Button(root, text="Open Firefox", command=open_firefox)
button_firefox.pack(pady=10)
button_new_tab = tk.Button(root, text="Open New Tab", command=open_new_tab)
button_new_tab.pack(pady=10)
root.mainloop()
输出
退房
tkinter
文档以了解更多信息:
https://docs.python.org/3/library/tkinter.html