Я использую pyjd / hulahop / pyxpcom для загрузки документа HTML с полем ввода, это поле ввода связано с "onchange = ...." для некоторой функции JS, выполняющей некоторый вызов AJAX.
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': -)