Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将Javascript注入网页_Javascript_Python_Wxpython - Fatal编程技术网

使用Python将Javascript注入网页

使用Python将Javascript注入网页,javascript,python,wxpython,Javascript,Python,Wxpython,对于我的应用程序,我需要将JS注入加载的url 我在这里使用以下代码片段 在这里,我正在注入javascript,但问题是,这个javascript在网页加载之前加载。在网页(给定url)完全加载后,如何加载此javascript 我知道在纯javascript中我可以使用document.readyState==“complete”,但在这里我怎么做呢 根据文件: 您应该使用EVT_WEBVIEW_LOADED事件来检查像LoadURL这样的异步方法是否完成 self.Bind(wx.htm

对于我的应用程序,我需要将JS注入加载的url

我在这里使用以下代码片段

在这里,我正在注入javascript,但问题是,这个javascript在网页加载之前加载。在网页(给定url)完全加载后,如何加载此javascript


我知道在纯javascript中我可以使用document.readyState==“complete”,但在这里我怎么做呢

根据文件:

您应该使用EVT_WEBVIEW_LOADED事件来检查像LoadURL这样的异步方法是否完成

self.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.OnWebViewLoaded, self.browser)
完整的代码可能看起来像(未测试):


你试过了吗:dialog.browser.RunScript('window.onload=function(){alert(“hello”);}')是的,我已经试过了,如果我这样做,我甚至没有收到警报。
self.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.OnWebViewLoaded, self.browser)
import wx 
import wx.html2 

class MyBrowser(wx.Dialog): 
  def __init__(self, *args, **kwds): 
    wx.Dialog.__init__(self, *args, **kwds) 
    sizer = wx.BoxSizer(wx.VERTICAL) 
    self.browser = wx.html2.WebView.New(self) 
    sizer.Add(self.browser, 1, wx.EXPAND, 10) 
    self.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.OnWebViewLoaded, self.browser)
    self.SetSizer(sizer) 
    self.SetSize((700, 700))

  def OnWebViewLoaded(self, evt):
    # The full document has loaded
    self.browser.RunScript('alert("hello");')

if __name__ == '__main__': 
  app = wx.App() 
  dialog = MyBrowser(None, -1) 
  dialog.browser.LoadURL("http://www.google.com") 
  dialog.Show() 
  app.MainLoop()