Название: Работа с контентом QWebView Отправлено: PinkPanther от Декабрь 05, 2012, 07:42 Добрый день.
Подскажите пожалуйста, возможно ли, загрузив html-страницу с формами в класс браузера (QWebView), вставить в определенное поле определенное значение (например, взяв его из буфера обмена) и имитировать нажатие кнопки Submit? Если да, то как это сделать средствами Qt? Название: Re: Работа с контентом QWebView Отправлено: alex312 от Декабрь 05, 2012, 08:35 https://github.com/makinacorpus/spynner/blob/master/src/spynner/browser.py
Название: Re: Работа с контентом QWebView Отправлено: Bepec от Декабрь 05, 2012, 08:41 На питон шлёте сразу? Хотя мб и к лучшему )
Название: Re: Работа с контентом QWebView Отправлено: PinkPanther от Декабрь 05, 2012, 08:55 alex312, Bepec
Я не знаю питон, знаю C++ и немного знаю Qt. Есть готовая программа. Но, работая с ней, придется, помимо прочего, примерно 200 раз в день переключаться в браузер и вводить данные в форму. Хотелось бы этот процесс автоматизировать - включить в программу QWebView, и, авторизовавшись на сайте один раз, отправлять результаты в полуавтоматическом режиме. Чем учить новый язык, проще было бы разобрать процесс авторизации, и отправлять те же данные POST-ом через QNetworkAccessManager или CURL. Тем не менее, есть предположение, что можно вписать данные в переменные, которые где-то хранятся. Наверняка текущее содержимое формы где-то хранится, и к этому содержимому можно получить доступ? PS Решил проблему, все замечательнейшим образом заработало. У кого возникнут схожие вопросы, прочтите мануал класса QWebElement. Название: Re: Работа с контентом QWebView Отправлено: sascha3115 от Апрель 25, 2013, 21:12 Код: хорошо. Пытаюсь написать простой браузер но не пойму что за ошибка. Помогите пожалуйста Код: #include "mainwindow.h" Название: Re: Работа с контентом QWebView Отправлено: PinkPanther от Апрель 26, 2013, 11:18 Возникла та же проблема.
После переезда на 5.0.2 этот кусок кода перестал работать: Код: ui->webView->load(QUrl(addr)); На инициализации link и button компилятор выдает ошибку "C:\Users\PinkPanther\Documents\QtProjects\CorpDataCollector\mainwindow.cpp:77: ошибка: invalid use of incomplete type 'class QWebFrame'", хотя чисто визуально все на месте, и все методы присутствуют в описании классов 5.0.2. А мне по-прежнему необходимо получать доступ к полю ввода (в данном случае это textarea), и, после вставки текста, нажимать на кнопку submit. Как это сделать в версии 5.0.2? Пример, который дается в QWebElement, работать не захотел. Название: Re: Работа с контентом QWebView Отправлено: alex312 от Апрель 26, 2013, 12:29 Не подключен нужный хедер
Название: Re: Работа с контентом QWebView Отправлено: PinkPanther от Апрель 26, 2013, 13:36 Не подключен нужный хедер Спасибо. Возможно. Но мой код не менялся. В mainwindow.h остается подключенным QWebKit (#include <QWebKit>), в проекте (.pro) подключена библиотека webkit. И в 4.8.х все работало. Либо баг, либо в 5.0 что-то поменяли. Название: Re: Работа с контентом QWebView Отправлено: alex312 от Апрель 26, 2013, 13:51 ошибка: invalid use of incomplete type 'class QWebFrame'
Не подключен нужный хедер ... либо в 5.0 что-то поменяли. Может так будет понятнее >:( >:( >:(Название: Re: Работа с контентом QWebView Отправлено: PinkPanther от Апрель 26, 2013, 16:22 ошибка: invalid use of incomplete type 'class QWebFrame' Не подключен нужный хедер ... либо в 5.0 что-то поменяли. Может так будет понятнее >:( >:( >:(Нет, пока понятнее не стало. В мануале сказано, что хеадер QWebFrame прописывается так: #include <QWebFrame>. До сегодняшнего дня я просто указывал общий хеадер QWebKit, и этого хватало. Когда я добавляю QWebFrame отдельно, при запуске вылезает ошибка, "QWebFrame: No such file or directory" Лезу на диск и вижу, что такого хеадера в папке QWebKit действительно нет. Хеадер QWebFrame есть в папке QWebKitWidgets, но подключать хеадер из этой папки компилятор тоже не дает - выкидывает ту же ошибку. Более того, когда я выкинул весь код работы с браузером, проект все равно не стал компилироваться. Наличие пустого QWebView в ui (вставлен в редакторе форм) вызывает две или три ошибки компиляции. Название: Re: Работа с контентом QWebView Отправлено: alex312 от Апрель 26, 2013, 16:43 Когда я добавляю QWebFrame отдельно, при запуске вылезает ошибка, "QWebFrame: No such file or directory" Ну раз уж вы так далеко залезли, то залезьте еще и в примеры от Qt5, например fancybrowser (http://qt-project.org/doc/qt-5.0/qtwebkitexamples/webkitwidgets-fancybrowser-fancybrowser-pro.html), и узрите строку подключения модулейЛезу на диск и вижу, что такого хеадера в папке QWebKit действительно нет. Хеадер QWebFrame есть в папке QWebKitWidgets, но подключать хеадер из этой папки компилятор тоже не дает - выкидывает ту же ошибку. Код: QT += webkitwidgets network widgets Название: Re: Работа с контентом QWebView Отправлено: PinkPanther от Апрель 26, 2013, 17:23 Код: QT += webkitwidgets network widgets Спасибо! |