我想在PyQt evaluateJavaScript()中创建一个函数(或者可能是类似函数),而不是显示求值函数的结果.实际功能会大得多,也可能不是字符串.
我只对如何在PyQt代码中创建函数以及将结果导入python变量感兴趣.
为了更清楚,我将举一个例子:这是我想loadFinished在http://jquery.com之后输入的js :
w = document.getElementsByTagName('p')[0];
w.innerHTML
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器控制台中执行此操作,我将获得输出:
"jQuery is a fast and concise JavaScript Library ...... blah blah blah"
Run Code Online (Sandbox Code Playgroud)
我想将此输出存储在变量中.
#!/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 …Run Code Online (Sandbox Code Playgroud)