Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Разработка GUI > Окно браузера в форме


Автор: Seganapa 10.10.2012, 09:47
Всем привет!
Написал с использованием Silenium небольшой код, с помощью которого авторизуюсь на сайте, заполняю несколько форм, нажимаю определенные кнопки и т.д.

Теперь мне нужно с помощью PyQT4 создать окошко с отображением браузера, в котором производятся действия, описанные выше.
 
Как это реализовать?

Автор: Seganapa 10.10.2012, 13:36
авторизацию на Grab я написал, все успешно работает, но мне нужно чтобы процесс авторизации, нажатие нескольких кнопок и заполнение форм отображалось в браузере... 

Как пример боты для онлайн игр
В одном окне браузер с выполнением нужных команд, а в других различные функции программы.

http://youpic.su/view.php?id=s002.youpic.su/pictures/1349812800/ff33af92eaa5f26d4e736ff09f2c92d0.png

http://youpic.su/view.php?id=s002.youpic.su/pictures/1349812800/f77e832664e2e5fd0c66205f30491e37.png

Вот что имею:
Для примера я в PyQT при помощи QWebView открываю Яндекс. Далее мне нужно вбить в поле поиска слово, например "Python". Сделать это, как я понимаю, можно только при помощи Selenium.

http://youpic.su/view.php?id=s002.youpic.su/pictures/1349812800/5e14f2044a53d1cf5fa4c44016066c2f.png

В Selenium тоже знаю как это сделать, а вот как срастить Selenium и PyQT не пойму...

Автор: shutffl 23.10.2012, 14:12
Во-первых, скорее всего придется делать наследование от QWebView (или что там, уже не помню).
Во-вторых, сам занимался написанием ботов для разных браузерок (потому и бросил в них играть, так как все и всегда заканчивалось именно ботом, а потом уже не интересно играть вообще).
В-третьих, скорее всего будут проблемы с flash-контентом. У меня возникли, и я просто забил на web-морду, сделав вывод логов в консоли с запросами действий.

Логика, которую использовал я:
1. Создать класс с родителем QWebView (или что там правильно?)
2. Прописать все функции переходов назад/вперед, открытия и так далее
3. Обязательно сделать обработик для сигнала загрузки страницы
4. Сделать связку с curl для запроса html-кода и вывода его в объект п.1

То есть я не грузил контент в сам QWebView, я загонял туда результат работы curl. В итоге что-то более-менее рабочее получилось. Но в мое время были очень серьезные проблемы с flash на webkit. Кстати, в GTK+ багов с webkit видель заметно меньше. Даже Adobe Flash Player прикручивал отдельно.

Автор: Seganapa 25.10.2012, 09:55
Что-то все как-то неудачно складывается. Бота написал, все прекрасно работает, но с мордой такие проблемы, месяц уже ищу инфу и никак... Все больше смотрю в сторону C++ или Delphi. Есть знакомый, который на Delphi пишет полноценных ботов, думаю вот он то мне и поможет... Но как-то Delphi учить неохота, не перспективно вроде...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)