我想在PyQt的evaluateJavaScript()(或可能是類似的)中創建一個函數,並顯示評估函數的結果。 實數函數會更大,並且可能不是字符串。如何將JavaScript函數的結果放入python變量中。 PyQt
我只是有趣的如何創建一個PyQt代碼內的函數,並獲得結果到python變量。
爲了更清楚我給你一個例子: 這就是我想上http://jquery.comloadFinished
後鍵入JS:
w = document.getElementsByTagName('p')[0];
w.innerHTML
如果我在瀏覽器控制檯做到這一點,我會得到一個輸出:
"jQuery is a fast and concise JavaScript Library ...... blah blah blah"
而我想將此輸出存儲在一個變量。
#!/usr/bin/env python
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
import os, sys, signal
from urllib2 import urlopen
class GBot(QWebView):
def __init__(self):
QWebView.__init__(self)
self.setPage(BrowserSettings())
#self.jquery = get_jquery()
self.load(QUrl('http://jquery.com'))
self.frame = self.page().currentFrame()
def _loadFinished(self, ok):
doc = self.frame.documentElement()
#doc.evaluateJavaScript(self.jquery)
r = doc.evaluateJavaScript('''w = document.getElementsByTagName('p')[0]; w.innerHTML''')
print r #want to do something like this
if __name__ == '__main__':
app = QApplication(sys.argv)
bot = GBot()
bot.show()
if signal.signal(signal.SIGINT, signal.SIG_DFL):
sys.exit(app.exec_())
app.exec_()
通過將其作爲一個GET或POST參數 – Ibu
你可以給我是一個例子嗎? (0).html();' – Vor
)謝謝 –