使用Python刷新本地网页

使用Python刷新本地网页,python,html,refresh,Python,Html,Refresh,我正在使用Python收集一些信息,构建一个非常简单的html页面,将其保存在本地,并使用webbrowser.open在浏览器中显示该页面file:///c:/testfile.html'). 我每分钟都检查新信息。如果信息发生更改,我将重写本地html文件,并希望重新加载显示的页面 问题是webbrowser.open每次运行时都会在浏览器中打开一个新选项卡。如何刷新页面而不是重新打开页面?我尝试了new=0、new=1和new=2,但都做了相同的事情。使用controller()没有更好的

我正在使用Python收集一些信息,构建一个非常简单的html页面,将其保存在本地,并使用webbrowser.open在浏览器中显示该页面file:///c:/testfile.html'). 我每分钟都检查新信息。如果信息发生更改,我将重写本地html文件,并希望重新加载显示的页面

问题是webbrowser.open每次运行时都会在浏览器中打开一个新选项卡。如何刷新页面而不是重新打开页面?我尝试了new=0、new=1和new=2,但都做了相同的事情。使用controller()没有更好的效果

我想我可以在html页面的部分添加类似于 准确的时间间隔并不重要


Python 2.7.2、chrome 26.0.1410.64 m、Windows 7 64。

过去似乎有几个人问过这个问题,但这里有一个链接总结了这个问题


但是webbrowser.open(url,new=0)应该在当前窗口中打开页面,而不是初始化新的页面。

如果需要刷新同一选项卡,则需要selenium webdriver。 使用
pip
安装selenium后,可以使用以下代码:

从selenium导入webdriver
导入时间
导入URL库
导入urllib2
x=原始输入(“输入URL”)
刷新率=原始输入(“输入秒数”)
refreshrate=int(refreshrate)
driver=webdriver.Firefox()
get(“http://”+x)
尽管如此:
时间。睡眠(刷新率)
driver.refresh()

这将打开URL并每隔
refreshrate
秒刷新一次选项卡

使其非常简短,如下所示:

from selenium import webdriver
import time

driver = webdriver.Firefox()

driver.get('URL')
while True:
    time.sleep(20)
    driver.refresh()
driver.quit()

Chrome的LivePage扩展。您可以写入一个文件,然后LivePage将为您监控它。您还可以选择刷新导入的内容,如CSS。Chrome将要求您授予对本地文件://URL的权限


(我与项目无关。)

我使用pyautogui模块刷新浏览器页面。这是一个班轮:

import pyautogui

pyautogui.hotkey('f5') #Simulates F5 key press = page refresh

或者,您可以在chrome:D中使用easy auto refresh扩展

它允许您设置自己的刷新时间,最快为1秒


new=0应该可以工作,但是不行,至少对那张海报或我来说不行,正如我在问题中提到的那样。该链接推荐javascript,这似乎有些过分。元刷新似乎是最好的选择?在这里都不是。它每次都会打开一个新的标签。但是,你为什么要这样做呢?为什么不使用AJAX或类似的方法读取数据块并在浏览器中进行解析呢?使用jQuery很简单,不必总是重新生成网页,只需创建一个文件,然后用jQuery显示。AJAX和jQuery比向生成的html文件中添加更简单,用WebBrowser打开一次,然后让它每分钟刷新一次(读取旧文件还是新生成的文件)?