簡體   English   中英

QWebKit 如何從 python 在頁面上運行 js

[英]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://stackoverflow.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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM