【发布时间】:2011-05-11 21:30:36
【问题描述】:
我正在尝试使用 wx.webkit 构建自定义浏览器。以下代码运行良好。
我想获取当前正在显示的页面的当前 URL。使用 GetPageURL() 方法似乎没有帮助。这始终显示起始 URL(在本例中为 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()
【问题讨论】:
-
我自己找到了一个方法。可以使用 wx.webkit.WebKiCtrl 的 RunScript() 方法和一个简单的 javascript 来获取 URL。 self.browser.RunScript("document.URL") 返回当前 URL。我还是想知道有没有直接的方法。