Как кликнуть по случайной ссылке
-
На странице есть набор ссылок. Необходимо кликнуть по случайной (любой) ссылке на странице. Идея в том, что это происходит в цикле и клики должны быть рандомные.
-
@kap90 Ну как вариант генерировать случайное число и номер совпадения сделать это случайное число.
-
This post is deleted!
-
@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]]Если хотите использовать цикл, то взаимодействовать с элементом цикла можно специальным действием