![在 QML 中获取 Qt WebKit HTML 内容](https://linux22.com/image/971948/%E5%9C%A8%20QML%20%E4%B8%AD%E8%8E%B7%E5%8F%96%20Qt%20WebKit%20HTML%20%E5%86%85%E5%AE%B9.png)
我的应用程序是用 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")