-
Доброго времени суток, уважаемые мастера!!! Давно сюда не писал, соскучился по форуму=)
Но собствено, вопрос: Мне нужно, чтобы программа выполняла процедуру каждый раз, когда в опере заканчивается загрузка страницы... Процедура эта уже написана(она кстати ставит мышь на кнопку внутри открытой страницы и нажимает на неё) и я хочу узнать только, как моей программе узнавать, загрузилась ли страница в опере...
Если оффтоп, прошу прощения, я не смог точно определиться, куда отправлять ветку...
Заранее спасибо!
-
А без Opera, используя TWebBrowser (то биш фукционал IE), никак не получится добиться решения поставленной задачи (зачем "ставить мышь" и щёлкать так на кнопку...)?
-
нужно максимально имитировать поведение обычного человека... Поэтому программа должна отлавливать конец загрузки страницы, нажимать кнопки и ждать следующей загрузки страницы, так как это делает человек.
Было б все так просто - форум бы не засорял...
-
по ходу на кликах решил заработать... используй IE по нему и в мсдн написано и плагины можно найти с исходниками и ваабще оперу фтопку
-
не на кликах заработать а бота для онлайн рпг написать
Быть можт найдется чтонибудь под opera... очень желательно написать прогу именно для неё...
-
> бота для онлайн рпг
тем более не понятно, почему именно опера нужна
-
потому что она худо-бедно сжимает трафик, коего у меня в обрез(сижу на gprs)
-
Уже мысли дошли до того, чтобы считывать с интервалом(допустим, раз в 3 секунды) скриншот экрана и искать в нем панель загрузки страницы...
-
> сжимает трафик
нифига она ничего не сжимает
> скриншот экрана и искать в нем панель загрузки страницы
брр... интересно как
-
> нифига она ничего не сжимает
Opera 10 включает такую штуку как Turbo - пропускание трафика через свои серверы, сжимая его (ничего нового по идее нет, раньше это было доступно только для Opera Mini, а сейчас для windows-версии) > потому что она худо-бедно сжимает трафик
Проблема только в этом??? Да раз плюнуть! http://www.tcompressor.ru1) Сжатие трафика лучше оперной Turbo в разы, экономия ~ от 10 до 100 МБ в день (это уж зависит от аппетита юзера, сколько он трафика тратит... :) 2) Можно так же бесплатно пользоваться 3) Максимум возможностей на платной подписке. Цена в пределах нормы, можно даже "разориться" ) PS: в бесплатном варианте приходится ждать N минут когда сервера освободятся. Ночью нагрузки нет вообще, подключение будет моментальное, с утра постепенно возрастает нагрузка, народ просыпается, соответственно утром надо ждать минуты 2-3, потом ближе к полудню 5-10... В час-пик днём/вечером надо ждать по 45 минут. НО это не проблема, если а) сидеть по ночам ))) б) подключаться вовремя и не пропустить через канал более 5 МБ несжатого трафика (тогда происходит переподключение и очередная науза на N минут)
-
И все таки, хотелось бы найти решение именно с оперой... есть варианты?
-
> как моей программе узнавать, загрузилась ли страница в опере...
Анализировать текст заголовка окна: изменился - значит страница загрузилась
Только это ОЧЕНЬ кривое решение и работать будет лишь в 50% всех возможных случаев
-
похоже у оперы нет такого api, хотя я был бы рад с подобным познакомится. По-поводу оперы, отличный браузер, сам им пользуюсь, хотя нет надобности сжимать траффик. Привык к тому как опера отрисовывает, как скроллит :) теперь все остальное не могу терпеть :)
Вот кое какие мысли. У оперы есть кеш, и файл dcache4.url - типа БД кеша, который обновляется раз в минут 5, точно не известно. Возможно следить за ним, как-только пошла команда опере открыть страницу - запоминаем время, и потом следим за этим файлом, обновился, смотри файл кеша, соответ-щий нашей странице.
Хотя может можна как-то к DOM пробраться, не знаю. Попробуйте на форуме спросить, там есть русскоязычный.
Есть еще возможность использовать пользовательские стили, они похоже применяются только после полной загрузки страницы, правда не знаю на счет ява. Стили можна свои применять, может поможет с скриншотами :)
Еще можно посомтреть в сторону QT :) ну это если с с++ дружите, там есть QtWebKit, очень удобно работать, боты писать одно удовольствие, даже для сайтов с яваСкрипт.
-
а через API искать статус бар? не ё?
-
Итак... проблема решена... методом снятия скриншота... создал таймер, который с периодичностью в 5 сек снимает скриншот и проверяет цвет пикселя того места, где находится строка загрузки... если она отсутствует(пиксель равен #000000), значит, загрузка осуществилась...
Всем спасибо за помощь=)
-
мде.. а проблема-то решалась через userJS.
-
??? UserJS - яваскрипт?
|