【问题标题】:wx.webkit -- how to get current URL...?wx.webkit -- 如何获取当前 URL...?
【发布时间】: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。我还是想知道有没有直接的方法。

标签: browser webkit wxpython


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    有一个 get_uri() 方法。你必须像这样使用它

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

    【讨论】:

      猜你喜欢
      • 2014-01-27
      • 2021-08-02
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 2012-06-01
      • 2017-04-09
      相关资源
      最近更新 更多