Python

2013-05-06 6 views
7

kullanarak yerel bir web sayfasını yenileyin Bazı bilgileri toplamak, çok basit bir html sayfası oluşturmak, yerel olarak kaydetmek ve webbrowser.open kullanarak tarayıcımda sayfayı görüntülemek için Python kullanıyorum ('file: /// c: /testfile.html '). Her dakika yeni bilgi kontrol ediyorum. Bilgi değişirse, yerel html dosyasını yeniden yazdım ve görüntülenen sayfayı yeniden yüklemek istiyorum.Python

Sorun, webbrowser.open'in her çalıştırdığımda tarayıcımda yeni bir sekme açmasıdır. Sayfayı yeniden açmak yerine nasıl yenileyebilirim? Yeni = 0, yeni = 1 ve yeni = 2'yi denedim, ama hepsi aynı şeyi yapıyor. Denetleyiciyi() kullanmak daha iyi çalışmaz.

I = bir yenileme içeriği değiştirildi olsun veya olmasın her dakika tetiklemek için html sayfasının < head> bölümüne İÇERİK = "60"> "yenile" Ben < META http-equiv gibi bir şey eklemek herhalde, ama daha iyi bir yol bulmayı tercih ederdi.

Kesin zaman aralığı önemli değil.

Python 2.7.2, krom 26.0.1410.64 m, Windows 7 birkaç kişi burada geçmişte bu istedi ama anlaşılıyor 64.

+0

Fakat neden yo bu şekilde yapacağız yenilenir aşağıdaki kodu

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() 

kullanabilir? Neden bir veri yığınını okumak ve sonra tarayıcınızda ayrıştırmak için AJAX veya benzeri yapmıyorsunuz? jQuery ile basittir ve her zaman web sayfasını yenilemek zorunda değilsiniz, sadece bir dosya oluşturup JQuery ile göstermelisiniz – ManuParra

+0

AJAX ve jQuery, oluşturulan html dosyasına, webbbrowser ile bir kez açıldıktan sonra her dakikasını yenilemek (eski dosyayı veya yeni oluşturulmuş olanı okumak)? – foosion

cevap

0

özetliyor bir bağlantıdır.

Python refresh HTML document

Ama webbrowser.open (url, 0 = yeni) geçerli pencerede sayfa açmak ve yenisini başlatmak olmamalıdır.

+0

new = 0 çalışmalı, ama en azından bu poster için ya da benim için değil, benim soruda belirtildiği gibi. Bu bağlantı, overkill gibi görünen javascript önerir. Meta yenileme en iyi alternatif gibi görünebilir mi? – foosion

2

Aynı sekmede bir yeniliğe ihtiyacınız olacaksa, selenyum web yönlendiricisine ihtiyacınız olacak. pip kullanarak selenyum yükledikten sonra bu url açıp sekmesi her refreshrate saniyede