Javascript.RU

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

Браузер не реагирует на element.click()
Есть таблица, генерируется автоматически.
Сгенерированный HTML код одной ячейки(на скриншоте выделена голубым) выглядит так:
Код:
<td id="5763723f1751" class="eventCellValue">1.12</td>
Сама таблица выглядит так:

JS страницы реагирует на нажатие ячейки таким образом:
Генерируется новый <DIV>, при этом код ячейки меняется на:
Код:
<td id="5763723f1751" class="eventCellSelected">1.12</td>
Скрипт страницы очень большой, сложно было найти на какое событие запускается обработчик:
Выходит такая схема:
Когда на элементе происходит событие MouseDown, проверяется условие, если условие истинно, то скрипт переходит к обработке события MouseUp. И уже на MouseUp висит функция, создающая новый <div>, выглядит он так:

Суть моего вопроса:
Как вызвать событие (то есть создание нового дива)?
Такой код:
bet = document.getElementById('5763723f1751');
      bet.click();

Не работает.
При наведении на ячейку курсор приобретает вид "выбор ссылки"


P.S. - проблема возникла в ходе написание бота для букмекерской конторы, и самое интересное, что функции других элементов страницы прекрасно вызываются через .click(). В общем, господа, что-то тут не чисто, через .mouseup() и .mousedown() тоже ничего не происходит.
В консоли браузера ошибок не появляется, просто показывается , что программа "думает" (песочные часы), а результата никакого. HELP!
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2016, 00:52
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Ron_Kerher, "Фонбет" надуть хочешь?
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2016, 17:19
Новичок на форуме
Отправить личное сообщение для Ron_Kerher Посмотреть профиль Найти все сообщения от Ron_Kerher
 
Регистрация: 15.05.2016
Сообщений: 5

Громко сказано, конечно) Но автоматизировать процесс было бы неплохо.
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2016, 17:20
Новичок на форуме
Отправить личное сообщение для Ron_Kerher Посмотреть профиль Найти все сообщения от Ron_Kerher
 
Регистрация: 15.05.2016
Сообщений: 5

Полагаю, проблема вполне решаема.
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2016, 18:36
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Ron_Kerher,
А обработчик события click для этого элемента есть? Если нет - то не сработает
Ответить с цитированием
  #6 (permalink)  
Старый 16.05.2016, 18:37
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от Dilettante_Pro
click() - это функция для объекта jquery, а не для DOM-элемента
<button>Button</button>

<script>
  var btn = document.body.children[0];

  btn.onclick = function() {
    alert('bla-bla');
  };

  btn.click();
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 16.05.2016, 18:38
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от Ron_Kerher
Как вызвать событие (то есть создание нового дива)?
А что именно ты хочешь сделать? Ну появится купон для ставки и что?
Ответить с цитированием
  #8 (permalink)  
Старый 16.05.2016, 18:40
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Decode,
Я уже понял и удалил
Ответить с цитированием
  #9 (permalink)  
Старый 16.05.2016, 19:38
Новичок на форуме
Отправить личное сообщение для Ron_Kerher Посмотреть профиль Найти все сообщения от Ron_Kerher
 
Регистрация: 15.05.2016
Сообщений: 5

Спасибо за ответы. С купоном всё предельно просто.
Он отправляется командой:
couponNewButtonPlaceBet.click();

То есть, для того, чтобы сделать ставку нужно следующее:
1) Определить размер ставки(исходя из размера банка);
2) Внести этот размер в соответствующее поле на купоне;
3) Отправить купон.
Все операции у меня получаются, за исключением вызова купона.
Ответить с цитированием
  #10 (permalink)  
Старый 29.06.2016, 21:43
Новичок на форуме
Отправить личное сообщение для Ron_Kerher Посмотреть профиль Найти все сообщения от Ron_Kerher
 
Регистрация: 15.05.2016
Сообщений: 5

Решение найдено!
Вся проблема оказалась в форм-факторе моей программы. Она подгружалась как расширение для Google Chrome. По умолчанию скрипты расширения не могут взаимодействовать с js на целевой странице.

В общем, если нужен полный доступ к странице через расширение браузера делайте инъекцию скрипта прямо в код HTML. То есть ваше дополнение должно создавать в header код скрипта. Описывать здесь этот процесс не буду, тк есть статьи на тематических сайтах с подробными инструкциями.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление Canvas из Javascript под браузер mmmaks2004 Javascript под браузер 0 30.01.2016 23:44
Сайт торент видео онлайн (через браузер). nemo84 Ваши сайты и скрипты 1 18.05.2013 21:07
Выдвигающееся меню не реагирует Santiago jQuery 1 14.03.2011 12:24
проблема: браузер блокирует скрипт zenija2007 Events/DOM/Window 5 30.05.2010 23:43
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40