Гулялка по сайту. Как продумать логику?

barkasian

Client
Регистрация
03.12.2014
Сообщения
127
Благодарностей
137
Баллы
43
Приветствую!
Активно познаю ZennoPoster, вот решил сделать универсальную гулялку по сайту.
Смысл следующий, в переменную domain кладем урл сайта, по которому требуется гулять, кликая по ссылкам в рандомном порядка.
Понятно, что в этот рандом может затесаться ссылка на другой сайт.
Вопрос, как выставить логику, чтобы была проверка, нахожусь я на том сайте, который в переменной domain? Если да, продолжаем гулять, если нет, возвращаемся на начальную страницу, которая в переменной domain.
Добавил логики if:
Код:
{-Page.Domain-}=={-Variable.domain-}
но что-то не срабатывает.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Код:
'{-Page.Domain-}'=='{-Variable.domain-}'
 
  • Спасибо
Реакции: barkasian

lexone

Client
Регистрация
12.10.2012
Сообщения
420
Благодарностей
726
Баллы
93
Код:
var hc = instance . ActiveTab . FindElementsByTags ( "a" ) ;
var r = new Random ( ) ;
if ( hc . Count > 0 )
{
    hc . GetByNumber ( r . Next ( 0 , hc . Count ) ) . RiseEvent ( "click" , "Full" ) ;
    if ( instance . ActiveTab . IsBusy ) instance . ActiveTab . WaitDownloading ( ) ;
}
Правда может и по внешней кликнуть.. нужно будет проверку чуть позже прикрутить.
 
  • Спасибо
Реакции: barkasian

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
//выбираем видимые ссылки которые явно представляют собой тег с нормальным атрибутом href и не выходят из видимой области главного боди
C#:
string domain = new Uri(instance.ActiveTab.URL).Host;
int body_width = instance.ActiveTab.MainBody.Width;
int body_height = instance.ActiveTab.MainBody.Height;
var links = instance.ActiveTab.FindElementsByAttribute("a", "href", Regex.Escape(domain)+".{3,}", "regexp").Elements
.Where(e=>(e.Width > 0 && e.Height > 0 && Math.Abs(int.Parse(e.GetAttribute("leftinbrowser"))) < body_width && Math.Abs(int.Parse(e.GetAttribute("topinbrowser"))) < body_height)).Distinct().Shuffle().ToList();
 
  • Спасибо
Реакции: nicanil и barkasian

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Устанавливаете следующие значения:
Тэг "a"
Аттрибут "href"
Значение "нужный домен"
Номер совпадения "random"

Так не должен никуда уйти и будет клацать постоянно по случайной ссылке.
 
  • Спасибо
Реакции: barkasian

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)