09.11.2013, 00:17
|
Новичок на форуме
|
|
Регистрация: 10.10.2013
Сообщений: 8
|
|
програмное нажатие
есть ли в JS функция програмно нажать клавишу, не мышь , а именно клавишу, например 'A' .
|
|
09.11.2013, 02:09
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
dimann889s, нет.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
09.11.2013, 07:15
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Да, element.dispatchEvent()
Вот только действия браузера на это событие не будет (не появится символ в поле ввода например).
__________________
В личку только с интересными предложениями
|
|
09.11.2013, 12:23
|
|
Профессор
|
|
Регистрация: 23.06.2011
Сообщений: 1,165
|
|
Сообщение от dimann889s
|
есть ли в JS функция програмно нажать клавишу, не мышь , а именно клавишу, например 'A' .
|
А для чего это нужно в браузере? Люди на нажатия вешают обработчики, а вы хотите скриптом эмулировать нажатие клавиши, чтоб потом его обрабатывать (внимание!) скриптом? Мне кажется что-то в этой цепочке действий лишнее.
|
|
09.11.2013, 13:57
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от danik.js
|
Да, element.dispatchEvent()
Вот только действия браузера на это событие не будет (не появится символ в поле ввода например).
__________________
|
а смысел тогда от этого события, почему то мне кажется ТС хотел функцию которая символы сможет вводить, или что то такое..
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
09.11.2013, 14:12
|
Новичок на форуме
|
|
Регистрация: 10.10.2013
Сообщений: 8
|
|
пнт, да хотел программно ввести в textarea текст, через
document.getElementById('text_area_id').value = 'trololo'
при нажатии на "отправить" value возвращается в предыдущее состояние, какая то защита? (сайт https://adwords.google.com/ko/Keywor...__c=1905831611)
Незнаю как обойти эту защиту, пробовал
for(var j = 0; j < wordsArr[i].length; j++){
setTimeout(document.getElementById('gwt-debug-keywords-text-area').value += wordsArr[i].charAt(j), 3000);
}
где wordArr это массив из заданных слов (продуктов , услуг)
тоже не канает, решаю задачку
Цитата:
|
1) Зайдите на https://adwords.google.com/ko/KeywordPlanner/Home От вас может потребоваться авторизация (если вы еще не залогинены в Гугл).
============ ШАГ 1 ===================
2) Кликнете на ссылку "Найти варианты ключевых слов и групп объявлений"
3) Внесите в поле "Ваш продукт или услуга" тестовый запрос №1
4) Кликните на кнопку "Получить варианты"
5) После загрузки результатов кликните на закладке "Варианты ключевых слов" и дождитесь загрузки результатов.
============ ШАГ 2 ===================
6) Внесите в поле "Ваш продукт или услуга" другой тестовый запрос
7) Кликните на кнопку "Получить варианты"
8) Дождитесь загрузки результатов и повторите ШАГ2
От вас требуется сделать скрипт который бы проходил ШАГ1 один раз, а ШАГ2 многократно, по числу элементов массива переданного функции выполняющей ШАГ2.
|
Последний раз редактировалось dimann889s, 09.11.2013 в 14:15.
|
|
09.11.2013, 16:28
|
|
Профессор
|
|
Регистрация: 23.06.2011
Сообщений: 1,165
|
|
Сообщение от dimann889s
|
при нажатии на "отправить" value возвращается в предыдущее состояние, какая то защита?
|
при чем здесь защита? Нажали на "отправить" - данные отправились, страница перезагрузилась.
wordsArr[i].length - чему равно?
setTimeout - зачем?
Это какой-то юзерскрипт планируется?
|
|
09.11.2013, 17:00
|
Новичок на форуме
|
|
Регистрация: 10.10.2013
Сообщений: 8
|
|
BETEPAH, да, чтобы в цикле отправлялось поле textarea с со значениями из words
, например var words = ['цветы', 'машины', 'книги', 'параболические антенны' ];
страница не перезагружается при отправке, все делается через аякс (это на их части мне же надо просто получить ответ по заданным словам из массива в цикле)
setTimeout() использовал тк как вначале предполагал что так можно обойти ограничение, при установке document.getElementById('gwt-debug-keywords-text-area').value = 'какой то элемент из массива' при клике document.getElementById('gwt-debug-search-button-content').click()
document.getElementById('gwt-debug-keywords-text-area').value устанавливалось в первоначальное значение, которое я вбил руками(в первый раз надо ручками сделать шаг 1 , а то value для текстареа вообще не ставится)
Последний раз редактировалось dimann889s, 09.11.2013 в 17:06.
|
|
10.11.2013, 12:34
|
Интересующийся
|
|
Регистрация: 09.11.2013
Сообщений: 15
|
|
А вы как через консоль пробуете? случайно не гугл хрома....
что то мне подсказывает, что там профиксено всё ))) - попробуйте даже вручную поменять в textarea внутреннюю часть, через инструменты разработчика - ноль эффекта
попробуйте через оперу
Ещё лучше - для таких целей (если это не против правил, а для упрощения своей работы) лучше написать какого нибудь макросного бота или есть хорошие программы с умными макросами - для которых это раз плюнуть) но моё мнение - с гуглом так шутить лучше не надо
|
|
10.11.2013, 13:47
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от nikolya223
|
попробуйте даже вручную поменять в textarea внутреннюю часть, через инструменты разработчика - ноль эффекта
|
То есть изменить innerHTML? Так от этого не должно быть эффекта. innerHTML для textarea задает только начальное значение. Далее значение хранится в свойстве (не атрибуте!!) .value , вот его и нужно менять.
__________________
В личку только с интересными предложениями
|
|
|
|