QWebKit 如何 运行 页面上的 js 来自 python
QWebKit how running js on page from python
如何通过 QWebKit 将 JavaScript 注入页面?
import sys
from PyQt5.QtCore import *
from PyQt5.QtWebKitWidgets import *
from PyQt5.QtWidgets import QApplication
js = "alert('test');"
def function():
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("url"))
# run js
web.show()
sys.exit(app.exec_())
if __name__ == '__main__':
function()
js代码是一个简单的例子,不知道具体会是什么代码运行。
您必须 运行 通过与视图关联的页面的 mainFrame 的 evaluateJavaScript() 方法。建议在加载页面后 运行 它:
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWebKitWidgets import QWebView
from PyQt5.QtWidgets import QApplication
js = "alert('test');"
def function():
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("https://whosebug.com"))
# web.page().mainFrame().evaluateJavaScript(js)
def on_load_finished(ok):
if ok:
web.page().mainFrame().evaluateJavaScript(js)
web.loadFinished.connect(on_load_finished)
web.show()
sys.exit(app.exec_())
if __name__ == "__main__":
function()
如何通过 QWebKit 将 JavaScript 注入页面?
import sys
from PyQt5.QtCore import *
from PyQt5.QtWebKitWidgets import *
from PyQt5.QtWidgets import QApplication
js = "alert('test');"
def function():
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("url"))
# run js
web.show()
sys.exit(app.exec_())
if __name__ == '__main__':
function()
js代码是一个简单的例子,不知道具体会是什么代码运行。
您必须 运行 通过与视图关联的页面的 mainFrame 的 evaluateJavaScript() 方法。建议在加载页面后 运行 它:
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWebKitWidgets import QWebView
from PyQt5.QtWidgets import QApplication
js = "alert('test');"
def function():
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("https://whosebug.com"))
# web.page().mainFrame().evaluateJavaScript(js)
def on_load_finished(ok):
if ok:
web.page().mainFrame().evaluateJavaScript(js)
web.loadFinished.connect(on_load_finished)
web.show()
sys.exit(app.exec_())
if __name__ == "__main__":
function()