在 QML 中获取 Qt WebKit HTML 内容

在 QML 中获取 Qt WebKit HTML 内容

我的应用程序是用 QML(Ubuntu SDK)构建的,我需要在WebView页面加载后从使用 Qt 加载的页面中获取 HTML 内容。根据一些初步研究,似乎以前直接支持此功能,但现在不再支持。我使用的是 Qt 5/QtWebKit 3。如何使用 JavaScript 从页面中获取源代码?

编辑:我找到了该experimental物品,但仍然没有找到我需要的东西。更多信息请见此处:http://rschroll.github.io/beru/2013/08/21/qtwebview.experimental.html

编辑:只是对我正在尝试做的事情的一个更广泛的看法。我的应用程序通过 OAuth 附加到用户的 Freshbooks 帐户。在他们输入凭据后,我需要能够从页面内容中访问 OAuth 验证程序代码。通过 OAuth 协议,我不知道还有什么其他方法可以获取此代码。我甚至不能让用户复制粘贴它,因为您无法在 WebView 中选择文本 :(

答案1

对于第一个问题,您应该能够通过在 WebView 中运行一些 Javascript 来实现这一点WebView.experimental.evaluateJavaScript()。此 Javascript 可以获取页面源代码(或者更好的是,只获取您想要的内容,因为它比 QML 中的 Javascript 更擅长解析 HTML)并通过文档标题将其报告回来。例如,

webview.experimental.evaluateJavaScript(
    "document.title = document.getElementById('id').innerHTML")

我承认我对 OAuth 了解不多,但如果你需要这样做,我只能说你做错了。你有没有查看过在线账户或这个OAuth 插件

相关内容