webkit(webkitgtk3)函数原型,如pywebkit在python中所见

时间:2014-05-20 00:11:07

标签: python webkit pygobject gobject gobject-introspection

pywebkit通过内省从python调用webkit。被调用函数的原型在运行时被绑定。对于开发人员来说,一个小问题是您不会在源代码中看到原型。你如何找到函数原型?特别是" add_event_listener"?

这段python代码来自pyjs.org pyjs / runners / giwebkit.py:

702     def addEventListener(self, element, event_name, cb):
703         listener = Callback(element, cb, False)
704         element.add_event_listener(event_name, listener, False)

在fedora 20上运行时会出现此错误:

File "/.../pyjs/runners/giwebkit.py", line 704, in addEventListener
    element.add_event_listener(event_name, listener, False)
TypeError: add_event_listener() takes exactly 5 arguments (4 given)

如何找出传递给函数的参数及其类型" element.add_event_listener()"?我可以插入一段python代码来打印出来吗?

我搜索了找到add_event_listener()的原型,但是找不到答案。所以我在思考是否可以通过调用代码做一些事情。

感谢。

编辑:更改原始标题" python打印函数原型和/或参数,特别是来自webkitgtk3"的add_event_listener。更好地反映真正的问题。

1 个答案:

答案 0 :(得分:0)

这来自HMR在评论中建议的内容。它包括两个步骤:第1步,获取webkit api:

http://webkitgtk.org/reference/webkitdomgtk/stable/WebKitDOMEventTarget.html#webkit-dom-event-target-add-event-listener

然后手动将该接口映射到python接口(我想通过从参数列表的开头删除* target)。