Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];

Вниз

Взаимодействие с Opera   Найти похожие ветки 

 
Гриня   (2009-09-10 11:49) [0]

Доброго времени суток, уважаемые мастера!!! Давно сюда не писал, соскучился по форуму=)

Но собствено, вопрос:
Мне нужно, чтобы программа выполняла процедуру каждый раз, когда в опере заканчивается загрузка страницы... Процедура эта уже написана(она кстати ставит мышь на кнопку внутри открытой страницы и нажимает на неё) и я хочу узнать только, как моей программе узнавать, загрузилась ли страница в опере...

Если оффтоп, прошу прощения, я не смог точно определиться, куда отправлять ветку...

Заранее спасибо!


 
TIF ©   (2009-09-10 21:22) [1]

А без Opera, используя TWebBrowser (то биш фукционал IE), никак не получится добиться решения поставленной задачи (зачем "ставить мышь" и щёлкать так на кнопку...)?


 
Гриня   (2009-09-11 04:41) [2]

нужно максимально имитировать поведение обычного человека...
Поэтому программа должна отлавливать конец загрузки страницы, нажимать кнопки и ждать следующей загрузки страницы, так как это делает человек.

Было б все так просто - форум бы не засорял...


 
QAZ   (2009-09-11 10:22) [3]

по ходу на кликах решил заработать...
используй IE по нему и в мсдн написано и плагины можно найти с исходниками и ваабще оперу фтопку


 
Гриня   (2009-09-11 11:07) [4]

не на кликах заработать а бота для онлайн рпг написать

Быть можт найдется чтонибудь под opera... очень желательно написать прогу именно для неё...


 
clickmaker ©   (2009-09-11 11:14) [5]

> бота для онлайн рпг

тем более не понятно, почему именно опера нужна


 
Гриня   (2009-09-11 11:40) [6]

потому что она худо-бедно сжимает трафик, коего у меня в обрез(сижу на gprs)


 
Гриня   (2009-09-11 11:49) [7]

Уже мысли дошли до того, чтобы считывать с интервалом(допустим, раз в 3 секунды) скриншот экрана и искать в нем панель загрузки страницы...


 
QAZ   (2009-09-11 12:46) [8]


> сжимает трафик

нифига она ничего не сжимает


> скриншот экрана и искать в нем панель загрузки страницы

брр... интересно как


 
TIF ©   (2009-09-11 14:30) [9]

> нифига она ничего не сжимает

Opera 10 включает такую штуку как Turbo - пропускание трафика через свои серверы, сжимая его (ничего нового по идее нет, раньше это было доступно только для Opera Mini, а сейчас для windows-версии)

> потому что она худо-бедно сжимает трафик

Проблема только в этом??? Да раз плюнуть!
http://www.tcompressor.ru

1) Сжатие трафика лучше оперной Turbo в разы, экономия ~ от 10 до 100 МБ в день (это уж зависит от аппетита юзера, сколько он трафика тратит... :)
2) Можно так же бесплатно пользоваться
3) Максимум возможностей на платной подписке. Цена в пределах нормы, можно даже "разориться" )

PS: в бесплатном варианте приходится ждать N минут когда сервера освободятся. Ночью нагрузки нет вообще, подключение будет моментальное, с утра постепенно возрастает нагрузка, народ просыпается, соответственно утром надо ждать минуты 2-3, потом ближе к полудню 5-10... В час-пик днём/вечером надо ждать по 45 минут.
НО это не проблема, если
а) сидеть по ночам )))
б) подключаться вовремя и не пропустить через канал более 5 МБ несжатого трафика (тогда происходит переподключение и очередная науза на N минут)


 
Гриня   (2009-09-11 17:28) [10]

И все таки, хотелось бы найти решение именно с оперой... есть варианты?


 
TIF ©   (2009-09-12 16:46) [11]

> как моей программе узнавать, загрузилась ли страница в опере...

Анализировать текст заголовка окна: изменился - значит страница загрузилась

Только это ОЧЕНЬ кривое решение и работать будет лишь в 50% всех возможных случаев


 
Ruzzz   (2009-09-12 21:43) [12]

похоже у оперы нет такого api, хотя я был бы рад с подобным познакомится. По-поводу оперы, отличный браузер, сам им пользуюсь, хотя нет надобности сжимать траффик. Привык к тому как опера отрисовывает, как скроллит :) теперь все остальное не могу терпеть :)

Вот кое какие мысли. У оперы есть кеш, и файл dcache4.url - типа БД кеша, который обновляется раз в минут 5, точно не известно. Возможно следить за ним, как-только пошла команда опере открыть страницу - запоминаем время, и потом следим за этим файлом, обновился, смотри файл кеша, соответ-щий нашей странице.

Хотя может можна как-то к DOM пробраться, не знаю. Попробуйте на форуме спросить, там есть русскоязычный.

Есть еще возможность использовать пользовательские стили, они похоже применяются только после полной загрузки страницы, правда не знаю на счет ява. Стили можна свои применять, может поможет с скриншотами :)

Еще можно посомтреть в сторону QT :) ну это если с с++ дружите, там есть QtWebKit, очень удобно работать, боты писать одно удовольствие, даже для сайтов с яваСкрипт.


 
brother ©   (2009-09-16 04:20) [13]

а через API искать статус бар? не ё?


 
Гриня   (2009-09-18 15:35) [14]

Итак... проблема решена... методом снятия скриншота... создал таймер, который с периодичностью в 5 сек снимает скриншот и проверяет цвет пикселя того места, где находится строка загрузки... если она отсутствует(пиксель равен #000000), значит, загрузка осуществилась...

Всем спасибо за помощь=)


 
Тыщ ©   (2009-09-19 10:42) [15]

мде.. а проблема-то решалась через userJS.


 
Гриня   (2009-09-20 13:21) [16]

??? UserJS - яваскрипт?



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
8-1219696911
Zilog
2008-08-26 00:41
2011.12.25
Как узнать, насоклько один цвет отличается от другого (RGB)


3-1269069120
Alexsis f
2010-03-20 10:12
2011.12.25
Хранение табличной части документа


15-1315254591
Юрий
2011-09-06 00:29
2011.12.25
С днем рождения ! 6 сентября 2011 вторник


15-1315116661
Eeuwige Rouw
2011-09-04 10:11
2011.12.25
PAS Файлы


9-1190628658
max_
2007-09-24 14:10
2011.12.25
3D модели





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский