С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
Chrome Extension

Расширение-автоклик для браузера

24.03.2018, 22:41. Показов 6775. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Я в программировании на JavaScript новичек. Мне нужно сделать расширение для браузера, которое на определённом сайте при нажатии к примеру клавиши F7 начинало бы кликать без остановки с большой скоростью кнопку id которой к примеру "target-btn". Я долго пробовал сделать сам, но у меня ничего не получилось.

Вот код, который я пытался втиснуть в расширение:

Файл script.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
addEventListener("keyup",clicker_start);
 
function clicker_start(event){
    
    if (event.key == "F7")
    {
        document.getElementById('target-btn').click();
        
    }
    
    
}
А вот manifest.json
JSON
1
2
3
4
5
6
7
8
9
10
11
12
  "name":"Рассширение для браузера google chrome",
  "description":"Мое рассширение для google chrome",
  "version":"1.0",
  "manifest_version":2,
  "content_scripts":[
    {
      "matches": ["https://название сайта/*"],
      "js" : ["script.js"],
      "run_at":"document_end"
    }
  ]
}
P.S. Если что, мой код не судите строго, как я сказал я ещё салага в этом деле.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2018, 22:41
Ответы с готовыми решениями:

Расширение для браузера
Я хочу сделать расширение для браузера по подобию похожего расширения, есть некий сервис похожий на мой и там есть полезное расширение,...

Как заставить расширение для браузера исполнить, предложенный в посте, JavaScript-код?
Всем привет. Решил написать простое расширение для браузера "Google Chrome" с следующей задачей: нужно, чтобы JavaScript-код, который...

Создать расширение для браузера Yandex, которое будет менять цвет элементов на странице
Заранее извиняюсь за повторное размещение тему, не много запутался в разделах форума. Доброго времени суток форумчане! Столкнулся с...

12
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
25.03.2018, 17:33  [ТС]
Привет! Я в программировании на JavaScript новичек. Мне нужно сделать расширение для браузера (Хром), которое на определённом сайте (сайт не мой) при нажатии, к примеру, клавиши Enter делало бы клик на кнопку id которой, к примеру, "target-btn". При том курсор мыши должен двигаться и работать независимо от этого действия. Я долго пробовал сделать сам, но у меня ничего не получилось.

Вот код, который я пытался втиснуть в расширение:

Файл script.js

JavaScript
1
2
3
4
5
6
7
8
9
10
addEventListener("keyup",clicker_start);
 
function clicker_start(event){
    
    if (event.key == "Enter")
    {
        document.getElementById('target-btn').click();
        
    }   
}
А вот manifest.json

JSON
1
2
3
4
5
6
7
8
9
10
11
12
"name":"Рассширение для браузера google chrome",
  "description":"Мое рассширение для google chrome",
  "version":"1.0",
  "manifest_version":2,
  "content_scripts":[
    {
      "matches": ["https://название сайта/*"],
      "js" : ["script.js"],
      "run_at":"document_end"
    }
  ]
}
P.S. Если что, мой код не судите строго, как я сказал я ещё салага в этом деле.

Добавлено через 4 часа 21 минуту
UPD: Я со многими проблемами уже разобрался, единственное, что я не могу найти это сам обработчик клика т.к. ни $('#target-btn').click(); ни getElementById('target-btn').click(); не работают.

Сейчас мой файл со скриптом выглядит вот так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function addEvent(obj, type, fn){
    if (obj.addEventListener){
        obj.addEventListener( type, fn, false );
    } else if(obj.attachEvent) {
        obj.attachEvent( "on"+type, fn );
    } else {
        obj["on"+type] = fn;
    }
}
addEvent(document, 'keypress', function(e) {
    if (e.keyCode == 13) {
        //alert('You pressed Enter');       
    }
});
Обработчик нажатия Enter работает, я его при помощи алерта проверял
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
25.03.2018, 18:21
strusik, а так?
JavaScript
1
document.getElementById('target-btn').onclick;
0
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
25.03.2018, 18:52  [ТС]
Могу код самой кнопки выложить ещё.

Не помогло, всё равно не нажимается. Вот если что часть кода где я подключал может я что-то неправильно сделал:

JavaScript
1
2
3
4
5
addEvent(document, 'keypress', function(e) {
    if (e.keyCode == 13) {
        document.getElementById('target-btn').onclick;
    }
});
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
25.03.2018, 18:55
strusik, кое-что изменил.
JavaScript
1
2
3
4
5
document.onkeyup = function (event) {
    if (event.keyCode == 13){
        document.getElementById("'target-btn'").onclick ;
    }
}
0
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
25.03.2018, 19:10  [ТС]
Всё равно ничего не происходит, кнопка это зачарованная что ли не пойму?)) Уже третий день с ней мучаюсь. При том я писал подобную штуку через С# и всё работало, но мне это не подходит ибо на С# там был тестовый браузер на котором сайт не обновляется.

вот как это выглядело на C#

C#
1
2
3
4
5
6
private void button2_2_Click(object sender, EventArgs e)
{
   IWebElement element;
   element = Browser.FindElement(By.Id("trade-btn"));
   element.Click();
}
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
25.03.2018, 21:14
strusik, так ведь уже пробовали ?
JavaScript
1
2
3
4
5
document.onkeyup = function (event) {
    if (event.keyCode == 13){
        document.getElementById("target-btn").click() ;
    }
}
0
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
25.03.2018, 21:39  [ТС]
Да, к сожалению тоже не работает, могу скинуть ссылку на сайт, но там авторизация нужна чтоб эту кнопку увидеть, ну или код могу скинуть кнопки
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
25.03.2018, 21:49
strusik, Давайте код кнопки.
0
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
26.03.2018, 20:15  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div id="trade-btn" modal_open="trade" class="btn btn_v2 hint_aim_5 hint_clickable">
                                Обмен
                                <div class="hint_container hint_container_5 hidden">
                                    <img src="/images/hit-2.svg">
                                    <div class="hint_text">
                                        #5 Нажмите на кнопку <br>"Обмен"<br>
                                        <span class="hint_skip_all">Выход</span>
                                        <span class="hint_skip">Далее</span>
                                    </div>
                                </div>
                                <div class="hint_container hint_container_5 hint_container_5_mobile hidden">
                                    <img src="/images/hit-7.svg">
                                    <div class="hint_text">
                                        #5 Нажмите на кнопку <br>"Обмен"<br>
                                        <span class="hint_skip_all">Выход</span>
                                        <span class="hint_skip">Далее</span>
                                    </div>
                                </div>
                            </div>
А может кстати и без авторизации видно будет, там кнопка "обмен" большая по середине или же "trade" если англ.версия сайта https://cs.money/ru

Добавлено через 21 час 35 минут
Aleksandrw, я ещё пробовал сделать имитацию клика мыши по координатам но тоже не выходит. Не понимаю, что с этой кнопкой не так

Добавлено через 47 минут
Aleksandrw, кстати полазив по коду сайта вот что я нашел во вкладке Event Listener, но не совсем пойму что это такое. Вроде как какое-то событие подключенное к этой кнопке. Возможно можно просто вызвать событие срабатывания кнопки без клика на кнопку?

ссылка на скрин - http://images.vfl.ru/ii/152208... 125597.png
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
26.03.2018, 20:48
strusik, честно, посмотрев в некоторых источниках , немного в недоумении от чего метод '.click ()' не работает при нажатии на Enter.


Цитата Сообщение от strusik Посмотреть сообщение
Возможно можно просто вызвать событие срабатывания кнопки без клика на кнопку?
JavaScript
1
2
3
4
5
6
function act () {
    var mess = alert ('wow');
    document.getElementById('button').click(mess);
    
}
act ();
0
1 / 1 / 0
Регистрация: 24.03.2018
Сообщений: 9
26.03.2018, 22:49  [ТС]
Aleksandrw, а что это кстати за modal_open="trade" в коде кнопки? что-то мне подсказывает это как-то связано с тем, что после нажатия происходит

Добавлено через 1 час 57 минут
Aleksandrw, всё, спасибо за помощь, я смог решить проблему эту, вот код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function() {
    var enterKeyCode = 13;
 
    var el = document.getElementById("trade-btn");
    function triggerMouseEvent(node, eventType) {
        var clickEvent = document.createEvent('MouseEvents');
        clickEvent.initEvent(eventType, true, true);
        node.dispatchEvent(clickEvent);
    }
 
    $(document).on("keypress", function(event) {
        if (event.which === enterKeyCode) {
            triggerMouseEvent (el , "mousedown");
            triggerMouseEvent (el , "click");
        }
    });
});
1
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
26.03.2018, 22:56
strusik, неплохо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2018, 22:56
Помогаю со студенческими работами здесь

Авторизация на сайте через расширение браузера
Добрый день! Делаю расширение браузера Google Chrome. Не могу справиться с авторизацией. Нужно что бы было так: Если расширение...

Расширение для браузера
у меня есть расширение просто файлом js идёт оно для гугла хрома и мазилы но его может стырить любой желающий тут я стал переделывать под...

Расширение для браузера, возможности
Посдкажите, возможно ли в принципе реализовать следующий функционал на JS в рамках расширения для браузера (например, для Хрома). От...

Нужно доделать расширение для браузера
Никак не могу заставить хром, создать элемент в каждой вкладке. Помогите плиз. Файл: .json { &quot;manifest_version&quot;: 2, ...

Как создать расширение для браузера, меняющее значение css элементов?
Какие файлы нужны для расширения, чтоб при добавлении расширения, оно сразу активировалось.И работало.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru