使用 python 中的 pywebview 库重新加载/刷新网页

问题描述 投票:0回答:2

可以使用 pywebview 库重新加载网页吗? 我的意思是,我有这个代码:

import webview

webview.create_window('Woah dude!', 'index.html')
webview.start(http_server=True)

…我想每五秒重新加载一次网页,因为 HTML 文件中正在发生更改。

python webview reload restart pywebview
2个回答
2
投票

尝试这样做:

import webview
import time

def reload(window):
    while True:
        time.sleep(5)
        window.load_url('index.html')
        
        
if __name__ == '__main__':
    window = webview.create_window('hello', 'index.html')

    webview.start(reload, window, http_server=True)

        

这将每 5 秒“重新加载”页面一次。它并不是真正重新加载它,它基本上加载相同的网址,所以它应该可以工作。


0
投票

我参加聚会有点晚了,但我的方法与其他解决方案有点不同。您可以使用 Watchfiles 来检测目录的更改。

def watch_and_reload(window):
    for change in watchfiles.watch('directory/to/watch'):
        ## i couldn't get window.load_url() to actually work so I used this instead
        window.evaluate_js('window.location.reload()')

if __name__ == '__main__':
    window = webview.create_window('Application', path)

    ## pass the watch function to the start method
    webview.start(watch_and_reload, window, http_server=True)
© www.soinside.com 2019 - 2024. All rights reserved.