使用 Python 刷新本地网页

Posted

技术标签:

【中文标题】使用 Python 刷新本地网页【英文标题】:Refresh a local web page using Python 【发布时间】:2013-04-30 05:51:58 【问题描述】:

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

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

我想我可以在 html 页面的

部分添加类似 的内容,以每分钟触发一次刷新,无论内容是否更改,但会更喜欢找到更好的方法。

确切的时间间隔并不重要。

Python 2.7.2,铬 26.0.1410.64 m,Windows 7 64。

【问题讨论】:

可是,你为什么要这样呢?你为什么不做 AJAX 或类似的读取一大块数据然后在你的浏览器中解析呢?使用jQuery很简单,不必总是重新生成网页,只需要创建一个文件然后用JQuery显示它 AJAX 和 jQuery 比在生成的 html 文件中添加 更容易,用 webbbrowser 打开一次,然后让它每分钟刷新一次(读取旧文件还是新生成的文件)? 【参考方案1】:

或者,您可以在 chrome 中使用简单的自动刷新扩展:D

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

【讨论】:

【参考方案2】:

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

from selenium import webdriver
import time
import urllib
import urllib2
    
x = raw_input("Enter the URL")
refreshrate = raw_input("Enter the number of seconds")
refreshrate = int(refreshrate)
driver = webdriver.Firefox()
driver.get("http://"+x)

while True:
    time.sleep(refreshrate)
    driver.refresh()

这将打开 URL 并每隔 refreshrate 秒刷新一次标签

【讨论】:

【参考方案3】:

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

import pyautogui

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

【讨论】:

是刷新单个标签还是浏览器中的所有标签?【参考方案4】:

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

(我与该项目无关。)

【讨论】:

【参考方案5】:

保持简短,就像这样简单:

from selenium import webdriver
import time

driver = webdriver.Firefox()

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

【讨论】:

如何在 Chrome 中刷新 localhost?【参考方案6】:

过去好像有几个人问过这个问题,但这里有一个总结了这个问题的链接。

Python refresh HTML document

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

【讨论】:

new=0 应该可以工作,但是正如我的问题中提到的那样,至少对于该海报或我而言,它不起作用。该链接推荐使用 javascript,这似乎有点矫枉过正。元刷新似乎是最好的选择? 这里都不行。它每次都会打开一个新标签。

以上是关于使用 Python 刷新本地网页的主要内容,如果未能解决你的问题,请参考以下文章

如果连接超时硒python,请刷新网页

Python爬虫——利用爬虫从网页获取视频资源

使用 Python 和 BeautifulSoup(将网页源代码保存到本地文件中)

python反爬之网页局部刷新1

一个html网页,我想刷新里面的一部分,怎么办

使用 Python 自动登录到我的本地网页