PyQt - 表单不提交

时间:2012-09-10 01:03:53

标签: python pyqt pyqt4 spynner

我正在尝试使用PyQt提交表单。我开始通过Spynner使用它,但我解构说,在我的repl中只是原始PyQT调用自己尝试调试问题。

>>> obr.webframe.findAllElements('.qust input').toList()
[<PyQt4.QtWebKit.QWebElement object at 0xa343f7c>, <PyQt4.QtWebKit.QWebElement object at 0xa343fb4>]
>>> 
>>> elem = obr.webframe.findAllElements('.qust input').toList()[1]
>>> elem.setFocus()
>>> elem.evaluateJavaScript("this.click()") 

当这不起作用时,我从Spynner中调用click事件的方法中提取了这个片段,这也没有用:

>>> jscode =
"var e = document.createEvent('MouseEvents');e.initEvent( 'click', true, true );this.dispatchEvent(e);"
>>> 
>>> elem.evaluateJavaScript(jscode)

最后:

>>> obr.webframe.findFirstElement('form')
<PyQt4.QtWebKit.QWebElement object at 0xa34387c>
>>> obr.webframe.findFirstElement('form').evaluateJavaScript('this.submit();')
<PyQt4.QtCore.QVariant object at 0xa343f44>
>>> 

在所有情况下,它立即返回。没有表格发布。表格是正常的:

>>> obr.webframe.findFirstElement('form').attribute('action')
PyQt4.QtCore.QString(u'SubmitPage.aspx?g=d7a717c38&ust=72a0fc7b&nm=01f00&se=53')
>>> obr.webframe.findFirstElement('form').attribute('method')
PyQt4.QtCore.QString(u'post')

如果有人有任何想法或建议,我会非常感激。正如你所看到的,我一直只是抓住稻草。不是我首选的调试风格......

0 个答案:

没有答案