Russian Qt Forum

Qt => Работа с сетью => Тема начата: PinkPanther от Ноябрь 09, 2009, 09:30



Название: (РЕШЕНО) Использование QWebView - автоматизация
Отправлено: PinkPanther от Ноябрь 09, 2009, 09:30
Добрый день, господа!
Вопрос (возможно, он не совсем корректен, и взляд на проблему изначально не с той стороны - я плохо знаком с программированием работы в сети). В программку GUI, которая обрабатывает статистику, недавно был встроен браузер (QWebView). После ручной авторизации и перехода на определённую страницу прога собирает инфу. Проблема в том, что после авторизации требуется сделать несколько типовых действий (снять галку, нажать на кнопку, и страница, соответственно, перегружается на конечную). И это нужно сделать для примерно 2500 ссылок на 15 авторизаций. Можно ли как-то автоматизировать эти действия? Скажем, я авторизовался, после чего нажал на кнопку в GUI, и прога сама, после загрузки страницы, начнёт имитировать активность в браузере, выполняя все промежуточные действия? Спасибо!


Название: Re: Использование QWebView - автоматизация
Отправлено: PinkPanther от Ноябрь 09, 2009, 14:57
Проблема частично решена, но упёрся в проблему, как получить исходный код показываемой QWebView html-страницы (то, что в браузере вызывается по Ctrl+U). Не подскажете?


Название: Re: Использование QWebView - автоматизация
Отправлено: viktor.kz от Ноябрь 09, 2009, 20:06
Для "автоматизации":
Код
C++ (Qt)
QString sJsScript = "Javascript here";
webView->page()->mainFrame()->evaluateJavaScript(sJsScript);

Исходный код, что-то типа:
Код
C++ (Qt)
QString sCurrentHtml = webView->page()->mainFrame()->toHtml();

А вообще, по теме: ПОИСК РУЛИТ!!!


Название: Re: Использование QWebView - автоматизация
Отправлено: PinkPanther от Ноябрь 09, 2009, 20:11
Спасибо! После долгого дебагинга, вроде всё заработало. Правда, куки приходится ловить сниффером на этапе авторизации. :)