如何以编程方式填充文本框wx.html2.WebView wxpython对象?

2024-05-26 19:54:47 发布

您现在位置:Python中文网/ 问答频道 /正文

[问题] 我想用编程的方式在里面写一些文本wx.html2.WebView wxpython对象。在

[代码]

import wx
import wx.html2    
app = wx.App(False)
frame = wx.Frame(None, -1, 'test')
browser = wx.html2.WebView.New(frame)
browser.LoadURL("https://www.python.org/")

browser.RunScript("document.getElementById('id-search-field').value = test")          

frame.Show()
app.MainLoop()

[电流输出]: 文本框中没有填充内容

[期望输出]: 文本应该写在文本框内


Tags: 对象代码test文本importbrowserapp编程
1条回答
网友
1楼 · 发布于 2024-05-26 19:54:47

您需要注册一个事件处理程序,以便在页面加载后调用browser.RunScript。{否则,当函数^没有准备好时,}将不被调用。在

除此之外,还应引用test来表示javascript中的字符串:

import wx
import wx.html2

app = wx.App(False)
frame = wx.Frame(None, -1, 'test')
browser = wx.html2.WebView.New(frame)
def loaded(e):
    if e.GetURL() == 'about:blank':  # Skip if it's a blank page.
        return
    browser.RunScript("document.getElementById('id-search-field').value = 'test'")
browser.Bind(wx.html2.EVT_WEBVIEW_LOADED, loaded)
browser.LoadURL("https://www.python.org/")
frame.Show()
app.MainLoop()

相关问题 更多 >

    热门问题