Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рандомное значение (https://javascript.ru/forum/misc/70860-randomnoe-znachenie.html)

swerk 07.10.2017 16:56

Рандомное значение
 
Всем здравствуйте, имеется код
var a = текст1;
var b = текст2;
var c = текст3;
setInterval(function(){
     document.querySelector(".js-chat_input.chat_text_input.form__input.ember-text-area.ember-view").value = 'Тут что то пишем' \\ Тут нужно чтобы писалось рандомное значение
     document.querySelector(".button.float-right.chat-interface__submit.qa-chat-buttons__submit.js-chat-buttons__submit.ember-view").click();
   }, 2000);

Мне нужно чтобы из этих 3 значений рандомно выбралось одно и написалось бы, как это сделать? Помогите пожалуйста)

Rasy 07.10.2017 19:01

Math.random

ruslan_mart 07.10.2017 21:41

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}


var text = ['Text 1', 'Text 2', 'Text 3'];
var elemText = document.querySelector(".js-chat_input.chat_text_input.form__input.ember-text-area.ember-view");
var elemClick = document.querySelector(".button.float-right.chat-interface__submit.qa-chat-buttons__submit.js-chat-buttons__submit.ember-view");


setTimeout(function fn() {
    elemText.value = text[getRandomInt(0, text.length - 1)];
    elemClick.click();

    setTimeout(fn, 2000);
}, 2000);

swerk 08.10.2017 12:04

Цитата:

Сообщение от ruslan_mart (Сообщение 466843)
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}


var text = ['Text 1', 'Text 2', 'Text 3'];
var elemText = document.querySelector(".js-chat_input.chat_text_input.form__input.ember-text-area.ember-view");
var elemClick = document.querySelector(".button.float-right.chat-interface__submit.qa-chat-buttons__submit.js-chat-buttons__submit.ember-view");


setTimeout(function fn() {
    elemText.value = text[getRandomInt(0, text.length - 1)];
    elemClick.click();

    setTimeout(fn, 2000);
}, 2000);

Спасибо, код работает, но на половину, он перебирает заданные мне слова, но вот клик не происходит, что не так в коде?

ruslan_mart 08.10.2017 13:55

Попробуйте:

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}


var text = ['Text 1', 'Text 2', 'Text 3'];
var input = document.querySelector(".js-chat_input.chat_text_input.form__input.ember-text-area.ember-view");


setTimeout(function fn() {
    input.value = text[getRandomInt(0, text.length - 1)];
    input.form.submit();

    setTimeout(fn, 2000);
}, 2000);

swerk 08.10.2017 14:41

Цитата:

Сообщение от ruslan_mart (Сообщение 466899)
Попробуйте:

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}


var text = ['Text 1', 'Text 2', 'Text 3'];
var input = document.querySelector(".js-chat_input.chat_text_input.form__input.ember-text-area.ember-view");


setTimeout(function fn() {
    input.value = text[getRandomInt(0, text.length - 1)];
    input.form.submit();

    setTimeout(fn, 2000);
}, 2000);

При таком методе выдает ошибку на sumbit ругается, поменял обратно на click, ошибок нет, опять же текст меняется, но не нажимает кнопку)

swerk 08.10.2017 14:47

Скрипт поидее должен быть такой
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}


var text = ['Kappa', 'KappaPride', 'Keepo'];
var input = document.querySelector(".js-chat_input.chat_text_input.form__input.ember-text-area.ember-view");
var click = document.querySelector(".button.float-right.chat-interface__submit.qa-chat-buttons__submit.js-chat-buttons__submit.ember-view");


setTimeout(function fn() {
    input.value = text[getRandomInt(0, text.length - 1)];
    click.click();

    setTimeout(fn, 2000);
}, 2000);

ruslan_mart 08.10.2017 15:05

swerk, если чат на реакте или Vue собран, то ничего не выйдет, так как там Virtual DOM.

swerk 08.10.2017 15:44

Цитата:

Сообщение от ruslan_mart (Сообщение 466908)
swerk, если чат на реакте или Vue собран, то ничего не выйдет, так как там Virtual DOM.

Ну например если в консоль ввести
document.querySelector(".button.float-right.chat-interface__submit.qa-chat-buttons__submit.js-chat-buttons__submit.ember-view").click();

То кнопка нажимается, а вот если в комбинации она не хочет работать)

рони 08.10.2017 17:52

swerk,
Цитата:

Сообщение от swerk
То кнопка нажимается,

так и напишите вместо click.click();


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