Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2013, 05:43
Аспирант
Посмотреть профиль Найти все сообщения от juser367
 
Регистрация: 16.10.2013
Сообщений: 36

"Нажать" кнопку
Вообщем в gmail есть кнопка "След" она подгружает новую страницу



Вот она аха.



document.querySelector('[id=":hd"]').click();


Пробую по ней кликнуть, а нечего не происходит. Хз чо еще попробовать?
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2013, 12:02
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

juser367,
Вы работаете в Гугле или пишете под браузер и ошиблись веткой форума?
Ответить с цитированием
  #3 (permalink)  
Старый 09.11.2013, 12:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Через element.dispatchEvent последовательно триггерь события mousedown и mouseup (проверено).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 09.11.2013, 14:51
Аспирант
Посмотреть профиль Найти все сообщения от juser367
 
Регистрация: 16.10.2013
Сообщений: 36

Сообщение от danik.js Посмотреть сообщение
Через element.dispatchEvent последовательно триггерь события mousedown и mouseup (проверено).
Угу. Опытным путем сам пришел к этому

var event = document.createEvent('MouseEvents', true, false); event.initEvent('mousedown'); document.querySelector('[aria-label="След."]').dispatchEvent(event);
var event = document.createEvent('MouseEvents', true, false); event.initEvent('mouseup'); document.querySelector('[aria-label="След."]').dispatchEvent(event);
Ответить с цитированием
  #5 (permalink)  
Старый 09.11.2013, 15:10
Аспирант
Посмотреть профиль Найти все сообщения от juser367
 
Регистрация: 16.10.2013
Сообщений: 36

function loadNextPage() {
    var el = document.querySelector('[data-tooltip="След."]');
    var ev;
    ev = document.createEvent('MouseEvents'); 
    ev.initEvent('mousedown');
    el.dispatchEvent(ev);
    ev = document.createEvent('MouseEvents');
    ev.initEvent('mouseup');
    el.dispatchEvent(ev);
}
loadNextPage(); // TypeError: Cannot call method 'dispatchEvent' of null

Там еще такая проблема пока мышкой не наведешь на кнопку document.querySelector('[data-tooltip="След."]'); будет возвращать null
Ответить с цитированием
  #6 (permalink)  
Старый 09.11.2013, 15:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Не пиши китаекод.
Все же элементарно:
var eventTypes = ['mousedown', 'mouseup'];
var eventTarget = document.querySelector('[aria-label="След."]');
eventTypes.forEach(function(eventType) {
    var event = document.createEvent('MouseEvents');
    event.initEvent(eventType);
    eventTarget.dispatchEvent(event);
});


Кстати createEvent принимает один аргумент, не знаю где ты три увидел.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 09.11.2013, 23:59
Аспирант
Посмотреть профиль Найти все сообщения от juser367
 
Регистрация: 16.10.2013
Сообщений: 36

не суть. даже экономии строк нет. http://pastebin.com/JGAfmniv вот решение
Ответить с цитированием
  #8 (permalink)  
Старый 10.11.2013, 06:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

['mousedown', 'mouseup'].forEach(function(type) {
    var event = document.createEvent('MouseEvents');
    event.initEvent(type);
    document.querySelector('[aria-label="След."]').dispatchEvent(event);
});
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кратное увеличение при клике на кнопку vabus Элементы интерфейса 2 15.04.2013 20:42
Отметить радио кнопку leny Общие вопросы Javascript 2 12.10.2011 15:22
Как убрать кнопку и добавить надпись "Идет загрузка" Jnas Events/DOM/Window 9 29.08.2011 12:55
Нажать кнопку... leny Firefox/Mozilla 1 29.04.2011 23:24
Нажать кнопку по истечению 2 минут vanek2010 Элементы интерфейса 1 21.01.2010 17:12