使用Python将Javascript注入网页
对于我的应用程序,我需要将JS注入加载的url 我在这里使用以下代码片段 在这里,我正在注入javascript,但问题是,这个javascript在网页加载之前加载。在网页(给定url)完全加载后,如何加载此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
我知道在纯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()