Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как открыть случайную ссылку в том же окне (https://javascript.ru/forum/events/65716-kak-otkryt-sluchajjnuyu-ssylku-v-tom-zhe-okne.html)

vbvt 04.11.2016 15:01

Как открыть случайную ссылку в том же окне
 
Help!
Использую для автоматизации расширение "Chromium browser automation".
В нем можно использовать код Javascript.
Например: на странице много ссылок, надо открыть в том же окне любую случайную ссылку, которая еще не открывалась.
Как это сделать с помощью Javascript?
Спасибо.

Aetae 04.11.2016 15:29

Любую - легко. Которая не открывалась - совсем другое дело.
Проблема в том что обычный javascript в целях безопасности никаким образом не может узнать по каким ссылкам ходили, а по каким - нет.
Потому решение тут зависит от того, даёт ли данное расширение доступ к потрохам браузера, ибо если нет - придётся писать своё, либо же вручную с самого начала отслеживать всю активность на сайте и запоминать в отдельное хранилище переходы.

vbvt 04.11.2016 15:48

Есть же параметр history, с ним нельзя? А насчет потрохов, не знаю.
Хорошо, тогда открыть одну случайную ссылку с тегом <li>.

Aetae 04.11.2016 15:54

Ссылки, они с тегом <a>. Что подразумевается тут: ссылка внутри тега <li>, ссылка содержащая внутри себя тег <li>, <li> который при клике javascript'ом открывает окно?

vbvt 04.11.2016 15:59

Ссылка обернутая тегом <li><a href="..."></a></li>

Aetae 04.11.2016 16:36

function followRandomLink(){
  var links = document.querySelectorAll('li a');
  links[Math.floor(Math.random()*links.length)].click();
}

vbvt 04.11.2016 17:58

Что-то не открывает.
Может посмотрите ссылку на туториал http://chrome-automation.com/inject-cs
Там есть разные действия.

Aetae 04.11.2016 18:13

Функцию то вы запусткаете?

fuckingquest 04.11.2016 18:19

<html>
<body>
<ul>
<li><a href = "http://google.ru">google</a></li>
<li><a href = "http://ya.ru">ya</a></li>
<li><a href = "http://javascript.ru">javascript</a></li>
</ul>
<button onclick = "location = document.links[Math.floor(Math.random() * document.links.length)]"> follow random link </button>
</body>
</html>

vbvt 04.11.2016 18:52

Цитата:

Сообщение от Aetae (Сообщение 434067)
Функцию то вы запусткаете?

Хрен знает, что там запускается.
Я вставил код в cs-Inject, не работает.
Есть еще действие click, а что там прописать, не знаю.


Часовой пояс GMT +3, время: 11:27.