2013-05-06 8 views
7

私はPythonを使って情報を収集し、非常に単純なhtmlページを構築し、ローカルに保存し、webbrowser.open( 'file:/// c: /testfile.html ')。私は毎分新しい情報をチェックします。情報が変更された場合は、ローカルのhtmlファイルを書き換えて、表示されたページをリロードします。Pythonを使用してローカルWebページを更新する

問題は、実行するたびにwebbrowser.openがブラウザに新しいタブを開くことです。ページを再表示するのではなく、更新するにはどうすればよいですか?私はnew = 0、new = 1、new = 2を試しましたが、すべて同じことをします。 controller()を使うとうまくいきません。

< META HTTP-EQUIV = "refresh" CONTENT = "60">をHTMLページの< head>セクションに追加して、内容が変更されたかどうかにかかわらず毎分リフレッシュをトリガーすることができますより良い方法を見つけることを好むでしょう。

正確な時間間隔は重要ではありません。

のPython 2.7.2、クロム26.0.1410.64メートル、Windows 7の64

+0

タブをリフレッシュしかし、なぜyoがこのように行うのですか?なぜAJAXなどを使ってデータを読み込み、ブラウザで解析するのですか? jQueryはシンプルで、Webページを常に再生成する必要はありません。ファイルを作成してJQueryで表示するだけです。 – ManuParra

+0

AJAXとjQueryは生成されたhtmlファイルに、webbbrowserで1回開き、1分ごとにリフレッシュさせます(古いファイルまたは新しく生成されたファイルを読み込む)? – foosion

答えて

0

それはいくつかの人々が過去にこれを求めているように見えますが、ここでそれをまとめたリンクです。

Python refresh HTML document

しかしwebbrowser.open(urlには、新しい= 0)が現在のウィンドウでページを開くと、新しいものを初期化するべきではありません。

+0

new = 0はうまくいくはずですが、私の質問に言及されているように少なくともそのポスターや私のためではありません。そのリンクはjavascriptを推奨しています。メタリフレッシュは最良の選択肢のように思えるでしょうか? – foosion

2

同じタブでリフレッシュする必要がある場合は、セレンのwebdriverが必要です。 ピップを使用してセレンをインストールした後、次のコード

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

関連する問題