Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2017, 16:56
Новичок на форуме
Отправить личное сообщение для swerk Посмотреть профиль Найти все сообщения от swerk
 
Регистрация: 07.10.2017
Сообщений: 7

Рандомное значение
Всем здравствуйте, имеется код
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 значений рандомно выбралось одно и написалось бы, как это сделать? Помогите пожалуйста)
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2017, 19:01
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Math.random
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2017, 21:41
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

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);
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2017, 12:04
Новичок на форуме
Отправить личное сообщение для swerk Посмотреть профиль Найти все сообщения от swerk
 
Регистрация: 07.10.2017
Сообщений: 7

Сообщение от ruslan_mart Посмотреть сообщение
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);
Спасибо, код работает, но на половину, он перебирает заданные мне слова, но вот клик не происходит, что не так в коде?
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2017, 13:55
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Попробуйте:

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);
Ответить с цитированием
  #6 (permalink)  
Старый 08.10.2017, 14:41
Новичок на форуме
Отправить личное сообщение для swerk Посмотреть профиль Найти все сообщения от swerk
 
Регистрация: 07.10.2017
Сообщений: 7

Сообщение от ruslan_mart Посмотреть сообщение
Попробуйте:

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, ошибок нет, опять же текст меняется, но не нажимает кнопку)
Ответить с цитированием
  #7 (permalink)  
Старый 08.10.2017, 14:47
Новичок на форуме
Отправить личное сообщение для swerk Посмотреть профиль Найти все сообщения от swerk
 
Регистрация: 07.10.2017
Сообщений: 7

Скрипт поидее должен быть такой
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);
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2017, 15:05
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

swerk, если чат на реакте или Vue собран, то ничего не выйдет, так как там Virtual DOM.
Ответить с цитированием
  #9 (permalink)  
Старый 08.10.2017, 15:44
Новичок на форуме
Отправить личное сообщение для swerk Посмотреть профиль Найти все сообщения от swerk
 
Регистрация: 07.10.2017
Сообщений: 7

Сообщение от ruslan_mart Посмотреть сообщение
swerk, если чат на реакте или Vue собран, то ничего не выйдет, так как там Virtual DOM.
Ну например если в консоль ввести
document.querySelector(".button.float-right.chat-interface__submit.qa-chat-buttons__submit.js-chat-buttons__submit.ember-view").click();

То кнопка нажимается, а вот если в комбинации она не хочет работать)
Ответить с цитированием
  #10 (permalink)  
Старый 08.10.2017, 17:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

swerk,
Сообщение от swerk
То кнопка нажимается,
так и напишите вместо click.click();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти максимальное и минимальное значение в элементах DOM smart-create Events/DOM/Window 17 11.07.2017 13:36
Передать значение контейнера переменной golgo AJAX и COMET 4 02.06.2017 16:26
Проблемы с выпадающим списком JavaScript ursus102 Общие вопросы Javascript 0 16.01.2016 19:30
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26