Получить содержимое HTML Qt WebKit в QML

Мое приложение построено с использованием QML (Ubuntu SDK), и мне нужно получить содержимое HTML со страницы, загруженной с помощью Qt WebView после загрузки страницы. Основываясь на некоторых первоначальных исследованиях, можно предположить, что раньше это поддерживалось напрямую, но уже не так. Я использую Qt 5/QtWebKit 3. Как я могу получить исходный код страницы с помощью JavaScript?

Редактировать: я узнал о experimental объект, но я до сих пор не нашел то, что мне нужно. Подробнее здесь: http://rschroll.github.io/beru/2013/08/21/qtwebview.experimental.html

Изменить: просто более широкий взгляд на то, что я пытаюсь сделать. Мое приложение подключается к учетной записи пользователя Freshbooks через OAuth. После того, как они ввели свои учетные данные, я должен иметь возможность получить доступ к коду верификатора OAuth из содержимого страницы. По протоколу OAuth я не знаю другого способа получить этот код. Я даже не могу заставить пользователя скопировать и вставить его, потому что вы не можете выделить текст в WebView:(

1 ответ

Решение

По первому вопросу вы сможете это сделать, запустив Javascript внутри WebView с WebView.experimental.evaluateJavaScript(), Этот Javascript может получить исходный код страницы (или, что еще лучше, именно тот контент, который вам нужен, поскольку он будет лучше разбирать HTML, чем Javascript-in-QML), и сообщать об этом через заголовок документа. Например,

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

Я признаю, что я не знаю много об OAuth, но я не могу помочь, но чувствую, что вы делаете что-то не так, если вам нужно это сделать. Вы проверили онлайн-аккаунты или этот плагин OAuth?

Другие вопросы по тегам