2011-02-07 60 views
0

許多網站(如Gmail,Facebook)在新通知到達時更改頁面標題。例如,當我收到新的電子郵件時,我的Gmail頁面標題更改爲「Gmail - 收件箱(1)」。有沒有辦法跟蹤使用bash或python進行更改?就像一個在後臺運行的小代碼,並跟蹤不同標籤或標籤中的標題更改,我指定它?我如何跟蹤ubuntu中firefox的標題變化?

+1

如果是窗口標題,您可能有機會進行一般性操作,但使用製表符時,答案很可能是特定於瀏覽器的,並且最好使用瀏覽器插件來實現。此外,您可能希望查找不依賴網絡瀏覽器的Gmail和Facebook監視器。 – Jander 2011-02-07 07:36:07

回答

0

什麼操作系統?對於Unix上的標題,您可以使用Xlib來輪詢X Window標題。

事情是這樣的:

from Xlib.display import Display 
from Xlib.Xatom import WINDOW 
display = Display() 
root = display.screen().root 
active_id = root.get_full_property(_NET_ACTIVE_WINDOW, WINDOW).value[0] 
window = display.create_resource_object('window', active_id) 
title = window.get_full_property(_NET_WM_NAME, UTF8_STRING).value 

但這隻會關心在主窗口的標題,所以你必須在一個單獨的窗口中運行你的Facebook,那麼在你的情況下,瀏覽器插件,使更多感覺,但是你不能使用Python或Bash。

+0

謝謝。但我期待獲得標籤的標題。當然,必須有一些地方在Firefox中存儲標籤的標題。任何想法如何以及在哪裏可以訪問它? – tapan 2011-02-07 10:50:21

+0

@tapan:它存儲在內存中,不能從其他進程訪問。你將不得不編寫一個Firefox擴展,因此你不能在Python或Bash中完成。您可以輪詢這些網站,但這對Facebook聊天無效。 – 2011-02-07 14:27:22

0

我認爲試圖抓住瀏覽器窗口標題是錯誤的方法。看看Specto。這是一個程序,可自動檢查郵件帳戶,網站,RSS源等,以便在特定時間間隔內進行更改,例如每10分鐘或每小時一次。順便說一下,你可以從Ubuntu軟件倉庫中獲得Specto。