Russian Qt Forum
Ноябрь 22, 2024, 17:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]Автоматизация, javascript, flash. Вопрос по утилитам...  (Прочитано 9940 раз)
Bepec
Гость
« : Июнь 26, 2014, 17:11 »

Вопрос - как можно автоматизировать действия в такой связке?

Имеется сайт в котором авторизация post, переход по категориям в виде простых ссылок, а вот внутри валяется javascript и красочно всё бегает вылезает отражается перемешивается.

Хочу вместо каждодневной мороки аля "зайти на сайт, ввести пароль, перейти в категории, далее восемь кликов пока доберёшься до нужных индикаторов и только тогда можно увидеть их параметры" автоматизировать сей процесс с выводом в текстовичок  и запуском анализа.  

Есть ли инструменты для такой работы? Причём именно для полностью автоматической работы?

update: или хотя бы инструменты облегчающие работу, аля вытаскивали к примеру элемент, над которым мышка, его параметры и, к примеру, позволяли импортировать эти данные. А то в том коде, пропущенном через эмм.. забыл как называется - меняются имена переменных на непроизносимые названия, равно как и имена ф-ций и прочая.

update: Наиболее удобная утилита для автоматизации
http://jeanphix.me/Ghost.py/
Итого - ghost

Нужно:
1) PyQt и Python одной версии (допустим 3.4) и одинаковой разрядности.
2) установить ghost командой
pip install --pre Ghost.py (для python 2.7 pip собрать надо отдельно)

« Последнее редактирование: Июль 02, 2014, 10:41 от Bepec » Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Июнь 26, 2014, 19:40 »

http://jeanphix.me/Ghost.py/
https://github.com/makinacorpus/spynner

или самому что-то написать с использованием QtWebKit.
« Последнее редактирование: Июнь 26, 2014, 19:44 от alex312 » Записан
Bepec
Гость
« Ответ #2 : Июнь 26, 2014, 20:41 »

Благодарю за ссылки, но если можно маааленький вопрос.
У вас ghost то хоть работает? А то я уже перебрал версии pyhton'a, для которых он подходит, под конец плюнул на pip, нашёл где то сам, скачал, установил. Плюется и не хочет импортироваться.
Код:
>>> from ghost import Ghost
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name Ghost
Записан
vregess
Гость
« Ответ #3 : Июнь 27, 2014, 08:59 »

Есть еще selenium.
Записан
Bepec
Гость
« Ответ #4 : Июнь 27, 2014, 09:28 »

selenium мне нравится. Понятнее и ближе как виндузятнику Улыбающийся Благодарю откликнувшихся.
Но если есть ещё что то - велком, у меня благодарности на всех хватит Улыбающийся
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #5 : Июнь 27, 2014, 10:21 »

У вас ghost то хоть работает?
Да, работает.
Установил  командой
Код:
pip install --pre Ghost.py
Ghost установился и под 2.7 и под 3.4.1 .   (pip для 2.7 я устанавливал отдельно)
для работы ghost требует PyQt4. поэтому более-менее проверил под 2.7 .
Результат: http://google.com  открывает, страничку в Pdf сохраняет.
Записан
Bepec
Гость
« Ответ #6 : Июнь 27, 2014, 12:33 »

Вечером попробую, отпишусь что получится Улыбающийся

update: всегда ненавидел с новым разбираться Улыбающийся не изучать, а именно разбираться.

Итого - ghost

Нужно:
1) PyQt и Python одной версии (допустим 3.4) и одинаковой разрядности.
2) установить ghost командой
Код:
pip install --pre Ghost.py

Что осталось выяснить:
почему при тестовом скрипте и любом исходе python.exe крашится с ошибкой в python34.dll.

Минимальная программа для креша
Код:
from ghost import Ghost
ghost = Ghost()
page, extra_resources = ghost.open("http://www.prog.org.ru/")

Выполняется вся программа, делает скриншот, но крашится. Что за фигня? Улыбающийся
« Последнее редактирование: Июль 01, 2014, 15:53 от Bepec » Записан
Bepec
Гость
« Ответ #7 : Июль 01, 2014, 15:53 »

up...
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #8 : Июль 02, 2014, 08:13 »

проблему подтверждаю.
Но все нормально завешается если не вызывать метод open("http://.....")
Наверное потом неправильно удаляются обьекты.

Надо попробовать открыть страницу при помощи PyQt4.
Записан
Bepec
Гость
« Ответ #9 : Июль 02, 2014, 10:39 »

А самое странное что при открытии нескольких страниц, оно рандомно не крашится...
В общем непонятно и печально, я надеялся на вас Веселый

Времени самому разбираться не особо, потому просто заигнорил окно с ошибками.

И да, итог всей темы - ghost наиболее удобная вещь для автоматизации. Имеет легко описываемую логику, хотя парочка проблем ещё есть:
1) вылет при окончании программы (рандомный, причем возвращает C000005 ошибку Улыбающийся )
2) при переходе внутри сайта... ммм... например с site.com/aqua на site.com/fire вылетает с ошибкой - таймаут загрузки страницы. Непонятно отчего, но лечится отключением ожидания загрузки у метода open.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #10 : Июль 02, 2014, 12:29 »

Немного погуглил, проблема общяя для PyQt

небольшое гугление вывело меня та возможное решение проблемы  -
http://stackoverflow.com/questions/21713682/pyqt-occasional-segfaults-when-using-qapplication-quit
https://github.com/integricho/path-of-a-pyqter/tree/master/qttut08
« Последнее редактирование: Июль 02, 2014, 12:31 от alex312 » Записан
Bepec
Гость
« Ответ #11 : Июль 02, 2014, 14:33 »

Суть да дело описано вот тут http://habrahabr.ru/post/210304/.
Кстати да, под дебагом всё нормально работает, увы.

Но с нахрапу разобраться не получилось, устраивает то что есть. (таки и не смог я извлечь стек вызовов питона. )
Благодарю всех отписавшихся.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.