Цель - клик по рекламе Google.
Имеем сайт
(это пример, сайт - новостийник)
Внизу текста располагается рекламный баннер искомой организации.
Этот баннер (фрейм) визуально я вижу. Видит фрейм и DebugBar. Выдаёт
полный "отчёт". Но его (нужный фрейм) не видит IEinfo.
Попытки доступа к фрейму привели в тупик. Штатные функции IE выдали
8 фреймов в наличии, кроме искомого.
Соответственно я не могу воздействовать (кликнуть) на ссылку штатными средствами IE.
Я пошёл другим путём (мне кажется - не правильным)
Открываю сайт.
Жду полную загрузку.
Прокручиваю страницу на ххх пиксел вверх (ставлю баннер вверх окна)
Здесь идёт поиск цвета ссылки и если совпал - тогда клик.
Работает только на этой странице и то через раз.
Тут узкое место - количество текста может измениться и прокрутка
не совпадёт. Нужно к чему то привязаться.
Пока мысли вслух :
Ставлю функцию - получить Html страницу.
Регеспом нахожу
и удаляю !.
Визуально получаю "якорь". Он всегда стоит выше баннера на фиксированном растоянии, и "гарантирует" - что ниже идёт искомый баннер. (пробовал в Opera)
Как доп. вариант -
в этой строке 0 меняю на 1 - получаю рамку искомого фрейма.
Далее стандартный отступ вниз от "якоря" и туда клик.Текст и цвет ссылки - неважно.
Здесь возникло пока 2 "узких" места.
Как поставить "якорь" вверх страницы (х не важно,y =0) используя фукцию прокрутки.
И как быть если таких кодов (баннеров) на странице = 2 или 3 (бывает).
Согласен что вариант - нестандарт, и может тупиковый .
Надеюсь, есть другие способы решения доступа к указанным баннерам (скрытым фреймам).
Прозьба укзать .
Имеем сайт
Код:
http://obkom.net.ua/news/2011-08-14/2037.shtml
Внизу текста располагается рекламный баннер искомой организации.
Этот баннер (фрейм) визуально я вижу. Видит фрейм и DebugBar. Выдаёт
полный "отчёт". Но его (нужный фрейм) не видит IEinfo.
Попытки доступа к фрейму привели в тупик. Штатные функции IE выдали
8 фреймов в наличии, кроме искомого.
Соответственно я не могу воздействовать (кликнуть) на ссылку штатными средствами IE.
Я пошёл другим путём (мне кажется - не правильным)
Открываю сайт.
Жду полную загрузку.
Прокручиваю страницу на ххх пиксел вверх (ставлю баннер вверх окна)
Здесь идёт поиск цвета ссылки и если совпал - тогда клик.
Работает только на этой странице и то через раз.
Код:
#include <IE.au3>
#include <Array.au3>
Opt("CaretCoordMode", 1)
$oIE = _IECreate('http://obkom.net.ua/news/2011-07-15/0910.shtml')
$oIE.Document.ParentWindow.ScrollBy(0, 1200)
Dim $left , $top, $right, $bottom, $color, $pos
Sleep(5*1000)
$left=125
$top=195
$right=590
$bottom=240
$color=0x0000FF
$pos = PixelSearch ($left, $top, $right, $bottom, $color)
If Not @error Then
If IsArray($pos) Then
MouseClick("left", $pos[0], $pos[1])
EndIf
EndIf
Тут узкое место - количество текста может измениться и прокрутка
не совпадёт. Нужно к чему то привязаться.
Пока мысли вслух :
Ставлю функцию - получить Html страницу.
Регеспом нахожу
Код:
<<!--adsense -->>
Код:
</table>
<!-- adsense -->
<table border=0 width=100%>
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4425308236486044";
/* 468x60, создано 11.02.09 */
google_ad_slot = "9165693894";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
Визуально получаю "якорь". Он всегда стоит выше баннера на фиксированном растоянии, и "гарантирует" - что ниже идёт искомый баннер. (пробовал в Opera)
Как доп. вариант -
Код:
<table border=0 width=100%>
Далее стандартный отступ вниз от "якоря" и туда клик.Текст и цвет ссылки - неважно.
Здесь возникло пока 2 "узких" места.
Как поставить "якорь" вверх страницы (х не важно,y =0) используя фукцию прокрутки.
И как быть если таких кодов (баннеров) на странице = 2 или 3 (бывает).
Согласен что вариант - нестандарт, и может тупиковый .
Надеюсь, есть другие способы решения доступа к указанным баннерам (скрытым фреймам).
Прозьба укзать .