- Регистрация
- 20.06.2012
- Сообщения
- 22
- Благодарностей
- 4
- Баллы
- 3
Описываю ситуацию. Знакомая попросила по работе написать простейший постер для доски объявлений всего лишь в 1 категорию товаров. Поскольку когда-то был опыт работы с XHE (Xedant Human Emulator), решил помочь. Фигня вопрос, подумал я, но не тут-то было. Уже 2-й день практически на одном месте.
Дано: Windows 7 (32), IE8 (downgradился с 9 по советам на форуме), ZennoPoster 3 (пока trial, но, чувствую, куплю сразу же и не задумываясь как закончится пробный период, отличный софт), создаю проект в CodeCreator (опыт работы с .NET и C# есть, php - тоже без проблем, но предпочитаю С#)
Сайт для постинга: слэндо точка ру
Заполнение полей, в том числе выпадающих списков - все ОК. Значения приходится устанавливать через дерево элементов, т.к. если кликнуть в любом месте страницы вылетает FileDialog для отправки файла (походу защита для усложнения жизни разработчикам ботов). Кстати, интересно, что в ZP при разработке шаблона всплывает, а в браузере отдельно нет...
Итак, теперь проблема: Не могу заполнить некоторые параметры объявления. Почему?!.
Заходим на слэндо, кликаем добавить объявление. Переходим к выбору рубрики. Нажимаем программно на "Выбрать" , но вот что делать дальше?... После нажатия появляется красивая область для выбора рубрики (В свое время я ее легко обходил в XHE эмуляцией нажатия кнопки мыши - да топорно, да неудобно засчет абсолютных координат, но это работало...). ZP никак с этим работать не может, элементов в дереве не видит. Насколько я понял - работа с формой выбора категории от и до на скриптах (при выключении JS в браузере ничего не работает). Поэтому в данном случае firebug'ом отловил id категории которая мне нужна и установил в качестве value для <INPUT id=category-container type=text name=data[category_id] jQuery16403424771707209739="4"> Категория известна. И уже было обрадовался. НО... т.к. это все делалось не через клик кнопки, то ajax не отработал и соответственно новый кусок html с элементами для ввода следующих параметров не пришел. Заполнять дальше нечего.
На сайте поля для заполнения догружаются jQuery/AJAX с каждым очередным выбором значений. Для dropdown элементов обходится легко - устанавливаем Value для элемента, а потом райзим событие onchange или click по ситуации. Все упирается в 1-й шаг - выбор рубрики.
Далее вспомнив, что я обходил это путем эмуляции клика мыши в соответствущей точке экрана, решил дописать такую возможность для ZP. Запилил свою dll'ку на C#, с помощью которой можно эмулировать любое мышиное действие в ЛЮБОЙ точке экрана (а не только в браузере), узнать текущие координаты указателя мыши, установить любые координаты указателя мыши. Отладил. Все работает. Супер. Теперь такое возможно и в ZP3, а не только в XHE Подключил к проекту. Эмуляция работает. Да, но бляяяяяя, я забыл что при нажатии в любой точке сайта всплывает FileDialog. Печально. Зря только писал dll-ку.
Пробовал разбираться в скриптах через FireBug. Не очень успешно. Во первых я не настолько хорошо знаю новые веяние web-технололгий, во-вторых досаждает js minifier уродующий текст.
Насколько я понял основной - s1.slando.ru/static/slandoru/packed/d905f20246ecefabd47bd9266b53856a.js. Многие начальные значение прописаны в самой странице добавления post-new-ad
Варианты решений, которые вижу лично я, и все они не очень-то приятные и эффективные:
- убрать элемент, который вызывает FileDialog при клике через DOM, далее эмулятором мыши;
- искать JS deminifier, разобраться со скриптами, cookies - вызвать напрямую с нужными параметрами (ой как не хотелось бы... Разбираться в чужом гораздо тяжелее чем писать свое...);
- отследить формирование POST через FireBug, далее эмулировать отправку со своими значениями (врядли - обычно на это сейчас доп проверки по неприметным переменным или как-то косвенно);
- купить ZP уже сейчас, обновиться до 4-ки Может там уже сейчас все легко и просто). Минус в том что мне необходим CodeCreator - нужно подключать библиотеки свои для фильтрации отправляемых данных, а его сейчас там вроде нет;
- может я тупой, убиться об стену и больше никогда не подходить к компу ))
В любом случае буду рад услышать от вас хоть какие-нибудь соображения, варианты, хинты, ссылки или готовые решения. HELP! Мозг уже в ауте.
PS. На форуме и в google искал. Как в русской части, так и в англоязычной. Нашел много интересного, но пока это все не относится с subjecty
PPS. Кому нужен модуль для эмуляции работы мыши (get position, set position, raise event) в ЛЮБОЙ точке экрана X,Y - welcome, обращайтесь, что зря написал что ли?! Или могу выложить здесь на форуме.
Дано: Windows 7 (32), IE8 (downgradился с 9 по советам на форуме), ZennoPoster 3 (пока trial, но, чувствую, куплю сразу же и не задумываясь как закончится пробный период, отличный софт), создаю проект в CodeCreator (опыт работы с .NET и C# есть, php - тоже без проблем, но предпочитаю С#)
Сайт для постинга: слэндо точка ру
Заполнение полей, в том числе выпадающих списков - все ОК. Значения приходится устанавливать через дерево элементов, т.к. если кликнуть в любом месте страницы вылетает FileDialog для отправки файла (походу защита для усложнения жизни разработчикам ботов). Кстати, интересно, что в ZP при разработке шаблона всплывает, а в браузере отдельно нет...
Итак, теперь проблема: Не могу заполнить некоторые параметры объявления. Почему?!.
Заходим на слэндо, кликаем добавить объявление. Переходим к выбору рубрики. Нажимаем программно на "Выбрать" , но вот что делать дальше?... После нажатия появляется красивая область для выбора рубрики (В свое время я ее легко обходил в XHE эмуляцией нажатия кнопки мыши - да топорно, да неудобно засчет абсолютных координат, но это работало...). ZP никак с этим работать не может, элементов в дереве не видит. Насколько я понял - работа с формой выбора категории от и до на скриптах (при выключении JS в браузере ничего не работает). Поэтому в данном случае firebug'ом отловил id категории которая мне нужна и установил в качестве value для <INPUT id=category-container type=text name=data[category_id] jQuery16403424771707209739="4"> Категория известна. И уже было обрадовался. НО... т.к. это все делалось не через клик кнопки, то ajax не отработал и соответственно новый кусок html с элементами для ввода следующих параметров не пришел. Заполнять дальше нечего.
На сайте поля для заполнения догружаются jQuery/AJAX с каждым очередным выбором значений. Для dropdown элементов обходится легко - устанавливаем Value для элемента, а потом райзим событие onchange или click по ситуации. Все упирается в 1-й шаг - выбор рубрики.
Далее вспомнив, что я обходил это путем эмуляции клика мыши в соответствущей точке экрана, решил дописать такую возможность для ZP. Запилил свою dll'ку на C#, с помощью которой можно эмулировать любое мышиное действие в ЛЮБОЙ точке экрана (а не только в браузере), узнать текущие координаты указателя мыши, установить любые координаты указателя мыши. Отладил. Все работает. Супер. Теперь такое возможно и в ZP3, а не только в XHE Подключил к проекту. Эмуляция работает. Да, но бляяяяяя, я забыл что при нажатии в любой точке сайта всплывает FileDialog. Печально. Зря только писал dll-ку.
Пробовал разбираться в скриптах через FireBug. Не очень успешно. Во первых я не настолько хорошо знаю новые веяние web-технололгий, во-вторых досаждает js minifier уродующий текст.
Насколько я понял основной - s1.slando.ru/static/slandoru/packed/d905f20246ecefabd47bd9266b53856a.js. Многие начальные значение прописаны в самой странице добавления post-new-ad
Варианты решений, которые вижу лично я, и все они не очень-то приятные и эффективные:
- убрать элемент, который вызывает FileDialog при клике через DOM, далее эмулятором мыши;
- искать JS deminifier, разобраться со скриптами, cookies - вызвать напрямую с нужными параметрами (ой как не хотелось бы... Разбираться в чужом гораздо тяжелее чем писать свое...);
- отследить формирование POST через FireBug, далее эмулировать отправку со своими значениями (врядли - обычно на это сейчас доп проверки по неприметным переменным или как-то косвенно);
- купить ZP уже сейчас, обновиться до 4-ки Может там уже сейчас все легко и просто). Минус в том что мне необходим CodeCreator - нужно подключать библиотеки свои для фильтрации отправляемых данных, а его сейчас там вроде нет;
- может я тупой, убиться об стену и больше никогда не подходить к компу ))
В любом случае буду рад услышать от вас хоть какие-нибудь соображения, варианты, хинты, ссылки или готовые решения. HELP! Мозг уже в ауте.
PS. На форуме и в google искал. Как в русской части, так и в англоязычной. Нашел много интересного, но пока это все не относится с subjecty
PPS. Кому нужен модуль для эмуляции работы мыши (get position, set position, raise event) в ЛЮБОЙ точке экрана X,Y - welcome, обращайтесь, что зря написал что ли?! Или могу выложить здесь на форуме.