2011-05-11 139 views
2

我想使用wx.webkit構建自定義瀏覽器。以下代碼乾淨地工作。wx.webkit - 如何獲取當前網址...?

我想獲取當前正在顯示的頁面的當前URL。使用GetPageURL()方法似乎沒有幫助。這始終顯示起始網址(在這種情況下爲http://www.google.com)。它似乎並沒有得到更新。

當我從一頁導航到另一頁時,如何獲取更新的URL ...?

import wx 
import wx.webkit 

class wxBrowser(wx.Frame): 
    def __init__(self, parent, id, title): 
    wx.Frame.__init__(self, parent, id, title, size=(800, 625)) 

    self.browser = wx.webkit.WebKitCtrl(self,-1) 
    self.browser.LoadURL('http://www.google.com') 
    self.browser.Bind(wx.EVT_KEY_DOWN, self.PrintURL) 
    self.Centre() 
    self.Show(True) 

    def PrintURL(self, event): 
    # show current URL on Cmd P 
    if event.CmdDown() and event.GetKeyCode() == 80: 
     print self.browser.GetPageURL() 

if __name__ == '__main__': 
    app = wx.App() 
    wxBrowser(None, -1, 'My Browser') 
    app.MainLoop() 
+0

我自己找到了一種方法。可以使用wx.webkit.WebKiCtrl的RunScript()方法和一個簡單的JavaScript來獲取URL。 self.browser.RunScript(「document.URL」)返回當前的URL。我仍然想知道是否有任何直接的方法。 – 2011-05-11 22:28:59

回答

0

改爲使用wx.html2.WebView.New小部件。

0

有一個get_uri()方法。你必須這樣使用它

browser = webkit.WebView() 
browser.open("http://example.com") 
print browser.get_main_frame().get_uri()