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