我正在使用Python收集一些信息,构造一个非常简单的html页面,将其保存在本地,并使用webbrowser.open('file:///c:/testfile.html'). )在浏览器中显示该页面我每分钟都会检查新的信息。如果信息发生变化,我会重写本地html文件,并希望重新加载显示的页面。
问题是,每次我运行webbrowser.open时,它都会在我的浏览器中打开一个新的选项卡。如何刷新页面而不是重新打开它?我试过new=0、new=1和new=2,但都做了同样的事情。使用controller()也不会有更好的效果。
我想我可以将类似< META HTTP-EQUIV=" refresh“CONTENT="60”>这样的内容添加到html页面的< head >部分,以每分钟触发一次刷新,而不管内容是否发生更改,但我更愿意找到一种更好的方法。
确切的时间间隔并不重要。
Python 2.7.2,chrome 26.0.1410.64 m,Windows 7 64位。
发布于 2014-09-24 20:28:06
如果您需要刷新同一选项卡,则需要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
秒刷新一次选项卡。
发布于 2019-07-08 00:57:51
我使用pyautogui模块来刷新浏览器页面。它只有一行代码:
import pyautogui
pyautogui.hotkey('f5') #Simulates F5 key press = page refresh
发布于 2018-06-02 04:16:09
保持简短,就像这样简单:
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get('URL')
while True:
time.sleep(20)
driver.refresh()
driver.quit()
https://stackoverflow.com/questions/16399355
复制相似问题