如果您确认 self.webview.load(QUrl.fromLocalFile(self.url))
可以正确加载页面,并且在浏览器中运行 JavaScript 代码也没有问题,那么可能的原因是在 self.webview.page().runJavaScript
调用之前页面还没有完全加载完成。
为了确保页面加载完成后再执行 JavaScript 代码,您可以使用 QWebEngineView
的 loadFinished
信号。这个信号在页面加载完成后触发,可以在信号的槽函数中调用 runJavaScript
。
以下是如何使用 loadFinished
信号的示例代码:
class Window(QtWidgets.QWidget):
def __init__(self, path, bookname)<