Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.02.2013, 12:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

ArtemKrass,
А мой пример у Вас не работает при "Посмотреть"
И браузер не указали
Ответить с цитированием
  #12 (permalink)  
Старый 23.02.2013, 13:05
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Я пишу на C#, сейчас в нем же понадобилось использовать немного JavaScript. До этого с JavaScript практически не сталкивался. Пожалуйста помогите на моем примере... Заглянул по ссылке о dispatchEvent... Темный лес...
Ответить с цитированием
  #13 (permalink)  
Старый 23.02.2013, 13:08
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Сообщение от Deff Посмотреть сообщение
ArtemKrass,
А мой пример у Вас не работает при "Посмотреть"
И браузер не указали
Я же писал... Пишу на C# с использованием awesomium (движок Chrome вроде-бы).
Ответить с цитированием
  #14 (permalink)  
Старый 23.02.2013, 13:10
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от ArtemKrass
Я же писал...
Я уже Чуть поменял код
У меня работает в Chrome - ось ХP
(Там в примере переход на текущий форум http://javascript.ru/forum/ (в окошке
Ответить с цитированием
  #15 (permalink)  
Старый 23.02.2013, 13:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ArtemKrass
движок Chrome вроде-бы
Он называется WebKit

Сообщение от ArtemKrass
Темный лес
Вот простой пример:
<button onclick="alert('Клик!')">Целевой элемент</button>
<script>
    var target = document.querySelector('button');
    var event = document.createEvent('MouseEvents');
    event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 1, null);
    
    var counter = 3;
    var message = document.body.appendChild(document.createElement('div'));
    (function(){
        message.textContent = 'Автоклик через ' + counter;
        if (counter == 0) {
            target.dispatchEvent(event);
        } else {
            counter--;
            setTimeout(arguments.callee, 1000);
        }
    })();
    
</script>

http://www.w3.org/TR/DOM-Level-2-Eve...nts-MouseEvent
Ответить с цитированием
  #16 (permalink)  
Старый 23.02.2013, 16:14
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Не могу разобраться... Как это можно применить к моему коду?
Ответить с цитированием
  #17 (permalink)  
Старый 23.02.2013, 16:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Изменить селектор в 3й строчке и вместо 7-17 строчек оставить только 12ю
Ответить с цитированием
  #18 (permalink)  
Старый 23.02.2013, 17:02
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Мы видимо о разных вещах разговариваем...

Я пишу небольшой бот для авторизации на сайте (на C#).

Чтобы заполнять данные и нажимать кнопки мне нужен JavaScript.
Программно заполнять логин и пароль у меня получилось, нажимать на кнопки тоже... А вот перейти по этой злополучной ссылке никак.

Соответственно код HTML поменять не могу, так как он лежит на сервере... Могу только влиять на него извне...
Ответить с цитированием
  #19 (permalink)  
Старый 23.02.2013, 17:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ArtemKrass
Мы видимо о разных вещах разговариваем...
Да нет, это вы не поняли.

Короче, вот код:
var target = document.querySelector('#worlds a'); // это и есть селектор в 3й строчке
var event = document.createEvent('MouseEvents');
event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 1, null);
target.dispatchEvent(event); // это и есть 12я строка, вместо 7-17й


Мда..
Ответить с цитированием
  #20 (permalink)  
Старый 23.02.2013, 17:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А вобще, нужно изучать проблемную страницу и искать проблему.
В этом может помочь Chrome Developer Tools. На вкладке Sources есть справа Event Listener Breakpoints, нужно поставить галку напротив Mouse -> click
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программно нажать кнопку keanser Events/DOM/Window 5 31.10.2011 16:15
Нажать на ссылку во времени. Black_Sun Events/DOM/Window 5 25.10.2011 15:20
оператор return возвращает значение, а не ссылку. Vertuplatonium Общие вопросы Javascript 4 16.05.2011 14:02
Нажать ссылку в iframe из родительского окна max124rus jQuery 1 12.03.2011 13:47
Поймать ссылку при перезагрузке. Roin Общие вопросы Javascript 0 17.06.2009 15:30