Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.12.2022
Сообщений: 6
1

Нажать на кнопку клаудфлейра

18.02.2023, 15:21. Показов 346. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С некоторых времён, с завидной назойливостью, раз в 5 минут начала появляться кнопка клаудфлейра.
Пока не нажмёшь, сайт не грузится.

Код :

HTML5
1
<input type="button" value="Verify you are human" class="big-button pow-button" style="cursor: pointer;">
Пробовал такой код:

Javascript
1
document.querySelector('button[class^="big-"]').click();
не работает. Кнопка нажимается только мышью.

iMacros нажимает без проблем.


SET !EXTRACT_TEST_POPUP NO
SET !ERRORIGNORE YES
FRAME F=1
TAG POS=1 TYPE=SPAN ATTR=CLASS:mark
TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=* CONTENT=YES
WAIT SECONDS= 308


Я кручу его в бесконечном цикле, но это-же не правильно.
Нужно как-то ( window.addEventListener ?) сделать проверку и, если появилась кнопка, нажать на неё.

Гуру, помогите пожалуйста!

Большое спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2023, 15:21
Ответы с готовыми решениями:

Нажать на кнопку через JS
Добрый день. Как нажать на кнопку через JS? Код кнопки: &lt;li class=&quot;f-fr&quot;...

Програмно нажать кнопку
Добрый день, подскажите как програмно нажать кнопку в js &lt;input type=&quot;submit&quot; class=&quot;btn...

Необходимо нажать на кнопку JavaScript
подскажите как убрать окно. отправляю из консоли, нажать кнопку......

Нажать на кнопку в консоли браузера
Так как id разный, а элементов много, то нужно нажать на все кнопки другим способом. Вот такой вот...

Как отправить формуляр / нажать на кнопку?
Как добавить к работающему букмарклету...

4
Эксперт JS
3499 / 1336 / 368
Регистрация: 14.03.2022
Сообщений: 3,210
18.02.2023, 15:37 2
Цитата Сообщение от Fedor2277 Посмотреть сообщение
Нужно как-то ( window.addEventListener ?) сделать проверку и, если появилась кнопка, нажать на неё.
Возможно тебе поможет MutationObserver...
https://learn.javascript.ru/mutation-observer
0
0 / 0 / 0
Регистрация: 16.12.2022
Сообщений: 6
18.02.2023, 15:47  [ТС] 3
Для меня, старика (65) сложновато. Как же нажать на эту кнопку программно без аймакроса?
0
Модератор
Эксперт JS
5230 / 2105 / 414
Регистрация: 06.01.2013
Сообщений: 4,831
19.02.2023, 04:41 4
Цитата Сообщение от Fedor2277 Посмотреть сообщение
не работает. Кнопка нажимается только мышью.
Значит, проверяется isTrusted. С помощью юзерскрипта такую защиту можно отключить, только замените match на адрес того сайта, в рамках которого вы хотите этого добиться.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// ==UserScript==
// @name         Force isTrusted
// @namespace    http://cyberforum.ru/
// @version      0.1
// @description  forces isTrusted event for every listener
// @author       Larissa Rosalene
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==
 
(function() {
  const original = EventTarget.prototype.addEventListener;
  EventTarget.prototype.addEventListener = function(event, listener, ...rest) {
    const hooked = (event) => {
      const tampered = { isTrusted: true, __proto__: event };
      listener(tampered);
    };
 
    original.call(this, event, hooked, ...rest);
  }
})();
Добавлено через 3 часа 24 минуты
Поправленная версия:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// ==UserScript==
// @name         Force isTrusted
// @namespace    http://cyberforum.ru/
// @version      0.1
// @description  forces isTrusted event for every listener
// @author       Larissa Rosalene
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==
 
(function() {
  const original = EventTarget.prototype.addEventListener;
  EventTarget.prototype.addEventListener = function(event, listener, ...rest) {
    const hooked = (event) => {
      const proxy = new Proxy(event, {
         get(target, name) {
             if (name === 'isTrusted') {
                 return true;
             }
             if (typeof target[name] === "function") {
                 return target[name].bind(target);
             }
             return target[name];
         }
      });
 
      listener(proxy);
    };
 
    original.call(this, event, hooked, ...rest);
  }
})();
2
0 / 0 / 0
Регистрация: 16.12.2022
Сообщений: 6
19.02.2023, 10:47  [ТС] 5
Спасибо, проблема решена для всех сайтов.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ==UserScript==
// @name         CloudFlare
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://challenges.cloudflare.com/*
// @grant        none
// ==/UserScript==
 
(function() {
    'use strict';
 
    setInterval(function(){
        document.querySelector("#cf-stage > div.ctp-checkbox-container > label > span").click();
    },7000);
   
})();
0
19.02.2023, 10:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2023, 10:47
Помогаю со студенческими работами здесь

Как нажать на кнопку в точно указанное время?
Ребята, всем привет! В программировании не разбираюсь, но, собирая информацию по кусочкам, написал...

Нажать и отжать кнопку
При нажатии на кнопку, изменяется ее цвет и обратно(при повторном нажатии исходный цвет...

Программно нажать на кнопку
Здравствуйте специалисты! Помогите разобрать каким образом нажать с помощью JS или jQuerry на...

нажать на кнопку автоматически
Добрый вечер. меня интересует как правильно сделать нажатие на кнопку, вот к примеру есть страница...

Как нажать на кнопку submit
&lt;div id=&quot;content&quot; class=&quot;clearit&quot;&gt; &lt;div class=&quot;fullWidth&quot;&gt; ...

Программно нажать на radio-кнопку
Ув. кодеры, прошу вашей помощи ибо искал в гугле и подобного не нашел. Может здесь кто то...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru