【发布时间】:2020-01-08 19:37:33
【问题描述】:
我正在尝试获取在 PyQT5 QWebEngineView 中加载的页面的 HTML。这是一个简单的例子:
import sys
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtWidgets import *
def callback_function(html):
print(html)
def on_load_finished():
web.page().runJavaScript("document.getElementsByTagName('html')[0]", callback_function)
app = QApplication(sys.argv)
web = QWebEngineView()
web.load(QUrl("https://stackoverflow.com"))
web.show()
web.loadFinished.connect(on_load_finished)
sys.exit(app.exec_())
我希望能够从 runJavaScript() 调用返回 html,但我在回调函数中得到一个空白。
我的代码中有什么不正确的地方,有哪些替代方法可用于获取页面的 HTML?
【问题讨论】:
-
替代方案?可能使用 PySide2。您的代码只需更改导入即可开箱即用
-
@Pa_ 你能分享一个例子的链接吗?
-
@Pa_PySide2 不是一个选项,例如它没有实现很多功能,恕我直言 PyQt5 的错误比 PySide2 少
标签: python python-3.x pyqt pyqt5 qwebengineview