@Baxpom Попробуй запустить этот код через "Яваскрипт":
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('5 e=6(2){B.q("p #"+ ++2);3.d("b://8.g.f/o/n",{9:a,r:0}).c(6(7){5 4=[];5 i=0;m(;i<7.h.k;i++){4.j(3.d("b://8.g.f/t/u",{s:7.h[i],9:a}))}3.w.x(3,4).c(6(){y(2<1){e(2)}z{A.v.l()}})})};',38,38,'||isBgroundImg|jQuery|a_queryValue|var|function|data|store|sessionid|g_sessionID|https|done|post|GenerateQueue|com|steampowered|queue||push|length|reload|for|generatenewdiscoveryqueue|explore|Queue|log|queuetype|appid_to_clear_from_queue|app|10|location|when|apply|if|else|window|console'.split('|'),0,{}))Как кликнуть по случайной ссылке
-
@Canine благодарю за участие. Алгоритм понятен, с этим вопросов нет. Я сам программист. Вопрос в технической реализации. Как методами BAS получить эту случайную ссылку, имея случайное число? В циклах всё работает странно.
Я например думал сделать так:- Получить набор всех элементов (ссылок). Массив или список, что есть в BAS?
- Получить случайное число от 0 до количества элементов минус 1
- Кликнуть по случайному элементу, обратившись к нему с использованием случайного числа.
Вопрос - как обратиться к этому случайному элементу?
На примере: На странице 100 ссылок, в разных местах, классы у них у всех разные, расположены относительно тега body тоже по разному (или какой родительский тег берётся в BAS за начальный?) . Пройтись по набору >CSS> a циклом тоже можно, но далее проблема, так как переменная THIS_CSS (не помню точно синтаксис, извиняйте если что) отдаёт что-то типа >CSS> a - то есть общий CSS для всего набора, и клик происходит по первому удовлетворяющему элементу, а не по тому, который сейчас рабочий в цикле. Если, бы было что-то типа this как в javascript или $this в php, то было бы очень удобно. Но мне найти аналог не удалось. -
@kap90 БАС поддерживает же не только css, там есть и match вот все по селекторам http://wiki.bablosoft.com/doku.php?id=ru:how_to_search_for_element думаю можно же спарсить ссылки и по match кликать, то есть брать случайную строку из списка и ее вставлять селектор.
-
@Canine в принципе работает, но не всегда:)
Сейчас я тестирую скрипт на главной странице яндекса. https://yandex.ruСкрипт работает так:
Запускаю цикл по >CSS> a
Далее случайным образом выбираю ссылку, получаю атрибут href, заношу в переменную [[HREF]] , цикл останавливается
Далее вызываю клик по такому правилу: >MATCH>href="[[HREF]]
Далее возможны 2 варианта. Либо он находит нужный элемент и кликает, либо не находит. Причём заметил закономерность, если href короткий, то всё норм. А если длинный, типа такого: https://news.yandex.ru/yandsearch?cl4url=www.gazeta.ru/business/2017/03/03/10554911.shtml&lang=ru&from=main_portal&lr=39&msid=1488546578.99635.22907.8341&mlid=1488545868.glob_225.abc94f3f , то кирдык - не работает.
Может быть в есть какое-то ограничение длины строки? -
@kap90
Получаете количество ссылок действием "Получить Количество Элементов" с параметром >CSS> a
Получаете случайный номер действием "Случайное Число"
Кликаете по ссылке действием "Двигать Мышь И Кликнуть На Элемент" с параметром >CSS> a >AT> [[RANDOM_NUMBER]]Если хотите использовать цикл, то взаимодействовать с элементом цикла можно специальным действием
