Мое приложение построено с использованием 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: (
По первому вопросу вы сможете это сделать, запустив некоторый Javascript внутри WebView с помощью WebView.experimental.evaluateJavaScript()
. Этот Javascript может получить исходный код страницы (или, что еще лучше, именно тот контент, который вам нужен, поскольку он будет лучше разбирать HTML, чем Javascript-in-QML), и сообщать об этом через заголовок документа. Например,
webview.experimental.evaluateJavaScript(
"document.title = document.getElementById('id').innerHTML")
Я признаю, что я не знаю много об OAuth, но я не могу не чувствовать, что вы делаете что-то не так, если вам нужно это сделать. Вы проверяли онлайн-аккаунты или этот плагин OAuth ?