gpt4 book ai didi

python - pyjd/hulahop/pyxpcom : how to fire onchange event from python/C++

转载 作者:太空宇宙 更新时间:2023-11-03 19:31:45 25 4
gpt4 key购买 nike

我正在使用 pyjd/hulahop/pyxpcom 加载带有输入字段的 HTML 文档,该输入字段通过“onchange=....”绑定(bind)到执行某些 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 接口(interface)非常接近 C++ 接口(interface),这就是为什么我读了一堆 C++ 代码片段,我使用 FocusManager 接口(interface)尝试了一些操作,发出 .focus() 和 .blur() “inp”元素上的事件,但到目前为止尚未成功。

有人知道这是如何工作的吗?有可能吗?有没有办法直接调用附加的 onchange 处理程序?

P.S.:抱歉睡衣标签,我不允许创建“pyjd”标签:-)

最佳答案

更改事件通常在字段失去焦点或按下 Enter 键时发送,并且脚本更改不会触发它们,因此如果您需要发生这种情况,最好触发您自己的更改事件。有一些sample code for dispatching a click event ;更改事件的过程类似,但在这种情况下,事件类型是 Events 而不是 MouseEvents,因此您需要调用 InitEvent。

关于python - pyjd/hulahop/pyxpcom : how to fire onchange event from python/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com