小白白也能学会的 PyQt 教程 —— 关于 runJavaScript 无法加载 JavaScript 脚本的解决方法
如果您确认 self.webview.load(QUrl.fromLocalFile(self.url)) 可以正确加载页面,并且在浏览器中运行 JavaScript 代码也没有问题,那么可能的原因是在 self.webview.page().runJavaScript 调用之前页面还没有完全加载完成。
为了确保页面加载完成后再执行 JavaScript 代码,您可以使用 QWebEngineView 的 loadFinished 信号。这个信号在页面加载完成后触发,可以在信号的槽函数中调用 runJavaScript。
以下是如何使用 loadFinished 信号的示例代码:
在上面的示例中,将 loadFinished 信号连接到名为 onPageLoadFinished 的槽函数。当页面加载完成时,将调用 onPageLoadFinished 函数,并在函数内部检查 ok 参数的值,以确保页面成功加载。然后,在条件为 ok 的情况下,调用 runJavaScript 来执行您的 JavaScript 代码。
这样做可以确保 JavaScript 代码在页面加载完成后执行,以提供正确的环境和上下文。

浙公网安备 33010602011771号