Прототип функции webkit (webkitgtk3), как видно на python из pywebkit
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 и / или аргументы, специально для add_event_listener from webkitgtk3", чтобы лучше отразить реальный вопрос.
1 ответ
Это из того, что HMR предложил в комментарии. Он включает в себя два шага: Шаг 1, иди получить API Webkit:
http://webkitgtk.org/reference/webkitdomgtk/stable/WebKitDOMEventTarget.html
Затем вручную сопоставьте этот интерфейс с интерфейсом python (я думаю, удалив цель * из начала списка аргументов).