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

  • Автор темы Автор темы barkasian
  • Дата начала Дата начала

barkasian

Client
Регистрация
03.12.2014
Сообщения
127
Реакции
139
Баллы
43
Приветствую!
Активно познаю ZennoPoster, вот решил сделать универсальную гулялку по сайту.
Смысл следующий, в переменную domain кладем урл сайта, по которому требуется гулять, кликая по ссылкам в рандомном порядка.
Понятно, что в этот рандом может затесаться ссылка на другой сайт.
Вопрос, как выставить логику, чтобы была проверка, нахожусь я на том сайте, который в переменной domain? Если да, продолжаем гулять, если нет, возвращаемся на начальную страницу, которая в переменной domain.
Добавил логики if:
Код:
Развернуть Свернуть Копировать
{-Page.Domain-}=={-Variable.domain-}
но что-то не срабатывает.
 
Код:
Развернуть Свернуть Копировать
'{-Page.Domain-}'=='{-Variable.domain-}'
 
  • Оценить
Реакции: barkasian
Код:
Развернуть Свернуть Копировать
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
//выбираем видимые ссылки которые явно представляют собой тег с нормальным атрибутом 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
Устанавливаете следующие значения:
Тэг "a"
Аттрибут "href"
Значение "нужный домен"
Номер совпадения "random"

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

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