我正在使用 pyjd/hulahop/pyxpcom 加载带有输入字段的 HTML 文档,该输入字段与“onchange = ....”绑定到一些执行 AJAX 调用的 JS 函数。
html 看起来像这样:
...
<input name="inp" type="text" onchange="checkInput()"></input>
...
我可以使用以下代码轻松定位和修改输入字段:
import pyjd
pyjd.setup(URL)
bw = pyjd.hula.wv
doc = bw.getDomDocument()
inp = doc.getElementsByName("inp").item(0)
inp.value = "somestring"
但是,这不会触发“onchange”处理程序,看来我必须手动进入/退出输入字段才能这样做。从我所看到的 pyxpcom 接口非常接近 C++ 接口,这就是为什么我在那里阅读了一堆 C++ 片段,我使用 FocusManager 接口尝试了一些事情,发出 .focus() 和 .blur() “inp”元素上的事件,但到目前为止没有成功。
有人知道这应该如何工作吗?甚至可能吗?有没有办法直接调用附加的 onchange 处理程序?
PS:对不起睡衣标签,我不允许创建'pyjd'标签:-)