基于python的网页自动刷新工具

1.下载webdriver

https://msedgewebdriverstorage.z22.web.core.windows.net/?prefix=122.0.2365.59/下载Edge的浏览器驱动

2.安装selenium

python 复制代码
pip install selenium==4.11.1 

3.写代码

python 复制代码
# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import messagebox
import threading
from selenium import webdriver
import time

class WebRefresherApp:
    def __init__(self, root):
        self.root = root
        self.root.title("Web Refresher")

        self.url_label = tk.Label(root, text="Target URL:")
        self.url_label.pack(pady=5)

        self.url_entry = tk.Entry(root, width=50)
        self.url_entry.pack(pady=5)
        self.url_entry.insert(0, "https://www.bing.com/?ensearch=1&mkt=zh-CN")  # 默认网址

        self.interval_label = tk.Label(root, text="Refresh Interval (seconds):")
        self.interval_label.pack(pady=5)

        self.interval_entry = tk.Entry(root, width=10)
        self.interval_entry.pack(pady=5)
        self.interval_entry.insert(0, "30")  # 默认刷新间隔时间

        self.open_button = tk.Button(root, text="Open and Start Refreshing", command=self.open_and_start_refresh)
        self.open_button.pack(pady=10)

        self.stop_button = tk.Button(root, text="Stop Refreshing", command=self.stop_refreshing)
        self.stop_button.pack(pady=10)

        self.is_refreshing = False
        self.refresh_task=None
        self.driver = webdriver.Edge()
        self.timer = None

    def open_and_start_refresh(self):
        url = self.url_entry.get()
        try:
            self.refresh_interval = int(self.interval_entry.get())
        except ValueError:
            messagebox.showerror("Invalid Input", "Refresh interval must be a number.")
            return

        if not url:
            messagebox.showerror("Invalid Input", "Target URL cannot be empty.")
            return

        self.url = url
        self.driver.get(self.url)  # 替换为你要刷新的网址

        if self.refresh_task is not None:
            messagebox.showerror("Invalid Input", "先停止原有任务!")
            return

        self.is_refreshing = True
        if self.refresh_task is None:
            self.refresh_task = threading.Thread(target=self.refresh_page)
            self.refresh_task.start()

    def refresh_page(self):
        try:
            while self.is_refreshing:
                print('refresh')
                self.driver.i
                self.driver.refresh()
                time.sleep(self.refresh_interval)
        except Exception as err:
            print(err)

    def stop_refreshing(self):
        self.is_refreshing = False
        if self.refresh_task is not None:
            self.refresh_task.join()
            self.refresh_task = None

def run_tk(root):
    root.mainloop()

#  pyinstaller -F -c --uac-admin -i .\img\explorer.ico -n UpdateWeb .\update_web.py
if __name__ == "__main__":
    root = tk.Tk()
    app = WebRefresherApp(root)
    root.mainloop()
    run_tk(root)

4.运行界面

相关推荐
wdfk_prog3 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
闻道且行之5 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
许彰午6 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系6 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜6 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
骄阳如火7 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪7 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris7 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎7 小时前
SenseVoice微调
人工智能·python·自然语言处理
诸葛说抛光8 小时前
国内大型汽车改装展览会定展 佛山改装 佛山汽车赛事
python·汽车