Как восстановить функцию console.log(), которая была отключена веб-сайтом?

ОБНОВЛЕНО: причина, по которой консоль не регистрируется, заключается в том, что сайт запускает этот скрипт:

    // Production mode
    // Disable console.log
    console.log = function() {};

Я предполагаю, что нет способа вернуть функцию на сайт?

Предыдущий выпуск:

Я запускаю скрипт в своей консоли Chrome, который следует за всеми на сайте. На странице 200 человек, и я хочу перебрать все кнопки подписки и нажать их все, запустив этот скрипт в консоли:

javascript:var inputs = document.getElementsByClassName('btn-follow'); 
for(var i=0; i<inputs.length; i++) { 
inputs[i].click();
}
console.log("The btn-follow script has finished");

Сценарий нормально нажимает кнопки, но оператор журнала возвращает undefined.

Есть ли способ войти в консоль из консоли?

Когда я пытаюсь использовать console.log напрямую, это выглядит так:

введите здесь описание изображения

Вот что выводится, когда я набираю «консоль»:

введите здесь описание изображения


person YPCrumble    schedule 08.12.2013    source источник
comment
ммм... что? Что не так с console.log? Я не уверен, что это имеет большой смысл   -  person tckmn    schedule 09.12.2013
comment
Просто введите Скрипт btn-follow завершен   -  person Yuriy Galanter    schedule 09.12.2013
comment
Это выполнит вход в консоль. После входа в консоль консоль отобразит возвращаемое значение (undefined). Это не мешает вам смотреть на предыдущую строку.   -  person Quentin    schedule 09.12.2013
comment
Просто добавил изображение - мой пример прост, но я хотел использовать его для отладки гораздо более длинного скрипта, и если он не регистрирует выходные данные, это не сильно поможет.   -  person YPCrumble    schedule 09.12.2013
comment
@Quentin, см. выше - проблема заключалась в том, что этот сайт отключил функцию console.log.   -  person YPCrumble    schedule 09.12.2013


Ответы (3)


Вы можете устранить затененные свойства с помощью delete:

delete console.log;

Исходная функция log (существующая в прототипе console) никогда не перезаписывалась — она просто была затенена свойством экземпляра console. Вы можете delete использовать функцию экземпляра и позволить оригинальной функции-прототипу просвечиваться.

person apsillers    schedule 09.12.2013
comment
Ха, не подумал об этом. Хороший! :) - person Felix Kling; 09.12.2013
comment
Просто для вашего сведения (этот ответ ориентирован на Chrome, поэтому он все еще действителен): я пробовал в Firefox 40.0.3, и это решение не работает. Объект console в Firefox является объектом со своими собственными методами, нет прототипа консоли для отката, если журнал не определен - person Pablo Lozano; 13.10.2015
comment
в хроме тоже больше не работает. - person ; 26.04.2018


Это работает для меня:

скриншот

За оператором журнала, который я отправляю (выделено синим цветом), следует его эффект (сообщение, выделено черным цветом) и возвращаемый тип выражения журнала (выделен серым цветом).

ИЗМЕНИТЬ

Убедитесь, что вы не заменили консоль каким-либо образом. Вы можете попробовать следующее:

скриншот

person Drew Noakes    schedule 08.12.2013
comment
Я пробовал это, но получил изображение, которое я публикую выше - почему на моей машине оно отличается? - person YPCrumble; 09.12.2013
comment
@YPCrumble, какую версию Chrome вы используете? Мой 31.0.1650.63. У меня Ubuntu 13.10, хотя я не ожидаю, что это будет иметь большое значение. - person Drew Noakes; 09.12.2013
comment
То же самое на Mac — версия Chrome 31.0.1650.63 - person YPCrumble; 09.12.2013
comment
@YPCrumble, я отредактировал свой ответ. Пожалуйста, попробуйте выше. Возможно, вы каким-то образом заменили свой объект консоли. - person Drew Noakes; 09.12.2013
comment
@DrewNoakes Обновлено, похоже, у меня то же самое, что и у вас. - person YPCrumble; 09.12.2013
comment
@YPCrumble, сумасшедший. Ну, у меня нет идей на данный момент! Пробовали выключить и снова включить? - person Drew Noakes; 09.12.2013
comment
спасибо за вашу помощь - посмотрите мое редактирование, причина в том, что у них есть журналы по всему сайту, и они просто отключают функцию журнала глобально для производственного режима. Сумасшедший! - person YPCrumble; 09.12.2013