Название: Возможности QtWebkit (серия вопросов) Отправлено: EvgeniyM от Декабрь 14, 2012, 21:13 Здравствуйте скажите реализуемы ли в QtWebkit такие возможности?
1.1) Симулировать нажатие (клик) по ссылки программно. Именно точная симуляции, вместо скажем вызова псевдо события "click" на javascript. Интересует как координатная симуляци, так и скажем чисто программно через DOM (если такое существует вообще). 1.2) А так же можно ли заполнить скажем поля input так же программно (думаю это возможно вставляя через DOM значения)? Нужно для написания полноценных функциональных веб-тестов. ~~~~ 2.1) Можно ли симулировать клик по плагину, скажем кликнуть "плей" во флеш плеере или html 5 видео плеере? Я так понимаю реализация будет по координатам, хотя было бы не плохо иметь программное взаимодействие, если это возможно? 2.2) Можно ли получить доступ к ресурсам кэша в проигрываемом видео (flash или html5 плееру), для последующего сохранения? Нужно получить скриншоты из embed-видео, сайты предоставляют вставку, но не представляют качественные большие скриншоты, нужно их получить (сохранив фрагмент видео, и потом получить скриншоты через например ffmpeg). Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: mutineer от Декабрь 14, 2012, 22:54 Симулировать любой клик можно отправкой QMouseEvent в нужный виджет
Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: Bepec от Декабрь 14, 2012, 23:03 Все вопросы ДА, кроме нажатия мышки.
Когда я интересовался этим, я не мог поймать координаты и тыкнуть мышой. Так же некоторые элементы защищены проверками на "реалистичность" нажатия. Аля если с последней координаты курсор прыгнул сразу на кнопку = бот :D Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: EvgeniyM от Декабрь 14, 2012, 23:12 Все вопросы ДА, кроме нажатия мышки. Это где это так? Кто будет в вебе предложении положение курсора отравлять.Когда я интересовался этим, я не мог поймать координаты и тыкнуть мышой. Так же некоторые элементы защищены проверками на "реалистичность" нажатия. Аля если с последней координаты курсор прыгнул сразу на кнопку = бот :D Где храниться тот самый кэш, из которого мона выдрать часть видео потока? Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: Figaro от Декабрь 15, 2012, 08:05 Присоеденяюсь к вопросу топикстартера, но интересует реализация псевдо события "click" на javascript? C вебкитом не работал, но придется...
Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: Bepec от Декабрь 15, 2012, 11:51 Я вам по секрету скажу. Есть JavaScipt. Он отслеживает перемещение мыши :) Если ты мгновенно наведёшь на кнопку и нажмёшь, будет считаться эмуляцией. И это самая простая его реализация :D
На деле же есть пара способов клика жабоскриптом. Вызвать событие onclick у элемента, или же вызвать напрямую вызываемую функцию. И то и то на сайтах, подумавших о запрете автоматизации (типа серфинга и прочего) не прокатывает. Ибо там как раз стоят проверки. Так же не прокатывает onclick у форм. Там надо вызывать submit, но опять таки зачастую он защищён. Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: EvgeniyM от Декабрь 15, 2012, 13:21 Я вам по секрету скажу. Есть JavaScipt. Он отслеживает перемещение мыши :) Если ты мгновенно наведёшь на кнопку и нажмёшь, будет считаться эмуляцией. И это самая простая его реализация :D Событие click крайне урезана и по сути не передает помоему event (а так же информацию о месте клика и прочее что очень важно).На деле же есть пара способов клика жабоскриптом. Вызвать событие onclick у элемента, или же вызвать напрямую вызываемую функцию. И то и то на сайтах, подумавших о запрете автоматизации (типа серфинга и прочего) не прокатывает. Ибо там как раз стоят проверки. Так же не прокатывает onclick у форм. Там надо вызывать submit, но опять таки зачастую он защищён. Мне посоветовали из соседнего форума: Цитировать Для полной имитации клика мыши: Создаешь событие мыши: Код Посылаешь его своему веб вью: Код
Что касается взаимодействия с flash, то уверен что можно только по координатам Что касается отслеживания, так это мистика какая-то. Во первых javascript выполняется на стороне клиента и можно реализовать двумя способами: 1) Обнаружение быстрого перемещения с помощью самого javascript - но вырезать такой код можно в течение минуты. 2) Или же посылать через аякс координаты мышки - но вы представляете сколько это запросов на сервер (на 1000 хостов вы получите наверно миллионы)? Да и реализовать рандомное движение мышки к кнопке дело тех же 2 минут (чтобы отличить уже поведение человека потребуется алгоритм стоимостью пару сотен тысяч долларов и столько же сотен человеко-часов (и суперкомпьютер вычисляющий все это) - но и тогда можно подделать до человеческой эмуляции - тут "гонка брони и снаряда"). Вы наверно совершенно не знакомы с технологиями программирование на стороне тонкого клиента, но обладаете изрядной фантазией? Или же мне не известны какие-то подводные камни и специфичные технические реализации? Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: Bepec от Декабрь 15, 2012, 14:16 Евгений, у вас видимо фантазия разыгрывается :D
Для 1 сайта то, о чем я говорю - не проблема. Да, жабу можно вырезать. Точнее не так, в той же жабе и кроется функционал сайта. Т.е. его нужно модифицировать. Чтобы его модифицировать, нужно его сначала понять. А если он пропущен через обфускатор, это займёт довольно много времени. Ладно, справились (за день), идём дальше. Щелкаем - получаем результат, молодцы. Но вот только это у нас отнимает около дня на 1 сайт. А если изменится на строчечку его жаба, то извиняй, опять смотри и думай. И да, встречаются на таких сайтах ссылки на жабаскрипты, расположенные в хранилищах, модифицировать которые ты не можешь :) И я не могу. А вот что ему надо там - надо ещё понять, см. выше. У меня была мысль же реализации клиента всё для всех. Она отпала именно по этим причинам. Оказалось проще снифферить обмен и сделать мини клиент для каждого необходимого сайта. PS и Евгений, почитайте про технологии. 50 тысяч, 150 тысяч обращений в секунду для серверов - плёвое дело. К тому же аякс на таких сайтах почти и не используется :) Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: EvgeniyM от Декабрь 15, 2012, 15:51 Евгений, у вас видимо фантазия разыгрывается :D Для 1 сайта то, о чем я говорю - не проблема. Да, жабу можно вырезать. Точнее не так, в той же жабе и кроется функционал сайта. Т.е. его нужно модифицировать. Чтобы его модифицировать, нужно его сначала понять. А если он пропущен через обфускатор, это займёт довольно много времени. Ладно, справились (за день), идём дальше. Щелкаем - получаем результат, молодцы. Но вот только это у нас отнимает около дня на 1 сайт. А если изменится на строчечку его жаба, то извиняй, опять смотри и думай. И да, встречаются на таких сайтах ссылки на жабаскрипты, расположенные в хранилищах, модифицировать которые ты не можешь :) И я не могу. А вот что ему надо там - надо ещё понять, см. выше. У меня была мысль же реализации клиента всё для всех. Она отпала именно по этим причинам. Оказалось проще снифферить обмен и сделать мини клиент для каждого необходимого сайта. PS и Евгений, почитайте про технологии. 50 тысяч, 150 тысяч обращений в секунду для серверов - плёвое дело. К тому же аякс на таких сайтах почти и не используется :) Чаще обфускация это тупо вырезать пробелы и перенос строк, обратный скрипт будет не большой, хотя я обычно кидаю в Netbeans и форматирую обратно в мой стиль с моим любимыми отступами и переносами. Любое кодирование абсолютно обратимо, такая уж технология, она пугает только школьников. Если автор параноидален или информация такая ценная то потратить можно на этот сайт и 1 день, но такой сайт будет один из миллиона, ибо просто глупо. Найти нужный участок можно путем простого поиска зарегистрированы событий мыши или вызовов аякса. Многие плагины это умеют и мило собирают все в кучу. Но все это бред, не знаю позволяет ли webkit модифицировать js, но я точно знаю что я могу загрузить страницу без чужих js скриптов, и даже со своими :) Чтобы я не усомнился в ваших знаниях, покажите мне сайты, где используется эти технологи и раз вы писали, что пытались найти выход, укажите место этого злобного кода, который следит за мной? PS 50К-150К обращений - да вас съест с говном любой оптимизатор. Тут 10% выигрываешь у программы - счастлив как щеночек, а тут вы говорите про 10.000% и более процентов. Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: Bepec от Декабрь 15, 2012, 16:32 Я не вижу в ваших рассуждениях смысла. Вы меня не читаете. Почему же тогда я должен вам отвечать?
PS любую браузерку с донатом возьмите. И учтите, что обфускация - изменения имён переменных и прочего. А не вырезание пробелов :D Если сможете разобрать в куче Код: sdfgdfg=1sdfgregdfg=3gsdfgdfjkghk=54 засим прекращаю с вами общение из-за отсутствия смысла в диалоге. Хотите споров - ищите других :) Хотели совет - я вам дал :) Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: EvgeniyM от Декабрь 15, 2012, 16:38 Я не вижу в ваших рассуждениях смысла. Вы меня не читаете. Почему же тогда я должен вам отвечать? PS любую браузерку с донатом возьмите. И учтите, что обфускация - изменения имён переменных и прочего. А не вырезание пробелов :D Если сможете разобрать в куче Код: sdfgdfg=1sdfgregdfg=3gsdfgdfjkghk=54 засим прекращаю с вами общение из-за отсутствия смысла в диалоге. Хотите споров - ищите других :) Хотели совет - я вам дал :) Обфускация обратима, многие и пишут такие переменные что обфусировать не нужно)), я читаю вас и по пунктам привожу факты, не хотите как хотите, пускай остается за вами как ваша фантазия. Название: Re: Возможности QtWebkit (серия вопросов) Отправлено: Bepec от Декабрь 15, 2012, 17:21 аминь :)
(http://demotivators.su/upload/600/5461290861304.jpg) |