Как поместить результат функции JavaScript в переменную python. PyQt
Я хочу сделать функцию в PyQtvaluJavaScript () (или может быть похожей), а затем отобразить результат оцениваемой функции. Реальная функция будет намного больше, и это может быть не строка.
Мне интересно только то, как создать функцию внутри кода PyQt и чем получить результат в переменную python.
Для большей ясности приведу пример:s js, которые я хочу набрать послеloadFinished
наhttp://jquery.com:
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_()