Получить содержимое 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?