Как получить список совпадений в конструкторе действий?

Rized

Новичок
Регистрация
22.09.2014
Сообщения
12
Благодарностей
1
Баллы
3
Нужно имитировать клик по случайному из множества идентичных (картинка в ссылке) элементов на однотипных страницах. Количество элементов на каждой странице разное, причем разница приличная, от 4 до 30. Страниц много, кол-во элементов на каждой может меняться со временем, нужен универсальный шаблон.

Делаю это через конструктор действий, но как взять кол-во совпадений по заданным атрибутам не понимаю. Рандом в пределах 1-30 не подходит, можно "кликнуть" на несуществующем элементе, повторить рандом, снова кликнуть мимо и так сколько угодно. Рандом от 1 до 4 вкл. слишком мал для "больших" страниц, это как-то...

Как такое можно реализовать? Есть какие-нибудь альтернативы?

Чтобы было нагляднее:


Нужно получить кол-во этих совпадений.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 803
Благодарностей
8 865
Баллы
113
с помощью экшена Обработка текста -> Regex (Все) берите все совпадения в список и считайте строки..
регулярку берите ту что у вас в конструкторе действий..
 
  • Спасибо
Реакции: zennoX и Rized

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
788
Баллы
113
c# кубик
var imgs = instance.ActiveTab.FindElementsByAttribute("img", "src", "ваша регулярка", "regexp").Elements.Shuffle();
imgs.Take(new Random().Next(0, imgs.Count())).ToList().ForEach(img=>img.Click());
 
  • Спасибо
Реакции: deopl, zennoX и Rized

Rized

Новичок
Регистрация
22.09.2014
Сообщения
12
Благодарностей
1
Баллы
3
с помощью экшена Обработка текста -> Regex (Все) берите все совпадения в список и считайте строки..
регулярку берите ту что у вас в конструкторе действий..
Работает реактивно! Спасибо.:df:

c# кубик
var imgs = instance.ActiveTab.FindElementsByAttribute("img", "src", "ваша регулярка", "regexp").Elements.Shuffle();
imgs.Take(new Random().Next(0, imgs.Count())).ToList().ForEach(img=>img.Click());
Вы монстр :-) Попробую и так сделать.
 

zennoX

Client
Регистрация
05.04.2014
Сообщения
482
Благодарностей
131
Баллы
43
c# кубик
var imgs = instance.ActiveTab.FindElementsByAttribute("img", "src", "ваша регулярка", "regexp").Elements.Shuffle();
imgs.Take(new Random().Next(0, imgs.Count())).ToList().ForEach(img=>img.Click());
а куда кол-во элементов в результате попадает?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
788
Баллы
113
никуда )
кстати можно просто указать в екшене в ячейку номер совпадения Random - будет тоже самое
 
  • Спасибо
Реакции: zennoX

zennoX

Client
Регистрация
05.04.2014
Сообщения
482
Благодарностей
131
Баллы
43
никуда )
кстати можно просто указать в екшене в ячейку номер совпадения Random - будет тоже самое
неверно вопрос задал)
список совпадений куда попадет?
где в скрипте имя списка указано?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 708
Баллы
113
зачем вам количество элементов на этом примере? тут же другая задача
 
Последнее редактирование:

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
788
Баллы
113
никуда, нигде ) это магия!
 
  • Спасибо
Реакции: rostonix

zennoX

Client
Регистрация
05.04.2014
Сообщения
482
Благодарностей
131
Баллы
43

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
788
Баллы
113
читай задание в самом первом посте.
вот это и выполняет.
 
  • Спасибо
Реакции: zennoX

zennoX

Client
Регистрация
05.04.2014
Сообщения
482
Благодарностей
131
Баллы
43
читай задание в самом первом посте.
вот это и выполняет.
я понял задание, я не понял куда результат кладется? в какой список/переменную? где это в скрипте указывается?
в переменную к экшену просто ok же пишется.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 708
Баллы
113
нет никакого результата. результат это клик по элементу.
 
  • Спасибо
Реакции: zennoX

zennoX

Client
Регистрация
05.04.2014
Сообщения
482
Благодарностей
131
Баллы
43

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