Сегодня я хотел подсчитать, сколько контактов LinkedIn я получил за последние 7 дней. ChatGPT предложил мне посчитать их вручную.

Я хочу посмотреть, сколько новых контактов я получил в LinkedIn на прошлой неделе. где можно посмотреть эти показатели?

Но в чем прикол! Хорошей новостью является то, что я мог видеть все свои связи в красивом списке. Компьютеры отлично справляются с анализом данных в списках, поэтому я попросил программу, которая сделает эту работу за меня!

напишите мне JavaScript, который я могу выполнить в консоли linkedin, который подсчитывает все подключения за последние 7 дней, пока я нахожусь на странице MyNetwork Connections

Он дал мне короткий код JavaScript, но он не сработал. У меня было ощущение, что сам GPT не ожидал, что он будет работать на таком динамичном сайте, как LinkedIn. Однако я учуял шанс сделать что-то классное и научить ChatGPT чему-то новому!

Итак, я щелкнул правой кнопкой мыши и использовал опцию «проверить элемент» для одного из моих новых контактов, чтобы скопировать его фрагмент HTML. Затем я написал новую строку…

Что это :) ?

и вставил все тело HTML для чата GPT.

ИИ правильно понял!
Хорошо, давайте опираться на это, ладно?

на основе этого фрагмента напишите мне js-скрипт, который я могу запустить на странице linkedin, который подсчитывает все новые подключения, которые у меня были за последние 7 дней. я скопирую и вставлю код в консоль браузера

Я получил первую версию кода

К сожалению, это тоже не сработало, у меня 0 попаданий, но в этот раз я решил копнуть глубже!

Я скопировал код, но он говорит, что у меня нет новых подключений, в то время как на прошлой неделе я сделал несколько. какую еще информацию я могу вам дать, чтобы сделать скрипт, который работает?

Он дал мне новый код, но он тоже не работал. Выполнение было запущено, но я получил 0 хитов.

Я не сдавался! На этот раз мне захотелось связаться с другим разработчиком и поработать вместе, чтобы эта штука заработала! Итак, я написал:

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

И он добавил кучу команд console.log, а также попросил меня предоставить ему отладку! Хороший!

Я сделал, как просил ИИ, и выложил небольшую часть журнала отладки консоли.

Обработка карты №1
VM3576:15 Текст времени: «Подключено 2 часа назад»
VM3576:20 Пропуск карты из-за отсутствия текста «Подключено»
VM3576:11 Обработка карты №2
VM3576:15 Текст времени: «Подключено 5 часов назад»
VM3576:20 Пропуск карты из-за отсутствия текста «Подключено»
VM3576:11 Обработка карты № 3
VM3576:15 Текст времени: «Подключено 5 часов назад»
VM3576:20 Пропуск карты из-за отсутствия текста «Подключено»
VM3576:11 Обработка карты № 4
VM3576:15 Текст времени: «Подключено 15 часов назад» < br /> VM3576:20 Пропуск карты из-за отсутствия текста «Подключено»

И что я могу сказать? Это сработало! Я был так счастлив и взволнован! :D

это сработало ! Пожалуйста, удалите журналы отладки сейчас, чтобы сократить сценарий. также, в дополнение к выводу консоли, поместите вывод с количеством подключений также в виде всплывающего окна, так как я хочу поделиться этим кодом с моими коллегами, и они могут не проверять консоль

function countRecentConnections(days) {
 const connectionCards = document.querySelectorAll(‘.mn-connection-card’);
 const cutoffDate = new Date();
 cutoffDate.setDate(cutoffDate.getDate() — days);

let recentConnections = 0;
connectionCards.forEach((card) => {
 const timeElement = card.querySelector(‘.time-badge’);
 const timeText = timeElement.textContent.trim();
const connected = timeText.split(‘\n’)[0].trim();


if (connected !== ‘Connected’) {
 return;
 }

const [num, unit] = timeText.split(‘\n’)[1].trim().split(‘ ‘);
if (!num || !unit) {
 recentConnections++;
 return;
 }let unitInDays;
 if (unit.startsWith(‘hour’)) {
 unitInDays = 1 / 24;
 } else if (unit.startsWith(‘day’)) {
 unitInDays = 1;
 } else if (unit.startsWith(‘week’)) {
 unitInDays = 7;
 } else if (unit.startsWith(‘month’)) {
 unitInDays = 30;
 } else {
 unitInDays = 365;
 }

const connectionDate = new Date();
connectionDate.setDate(connectionDate.getDate() — num * unitInDays);

if (connectionDate >= cutoffDate) {
 recentConnections++;
 }
 });
return recentConnections;
}

const recentConnections = countRecentConnections(7);
const message = `Number of new connections in the past 7 days: ${recentConnections}`;
console.log(message);
alert(message);

Затем я попросил его написать инструкцию по использованию скрипта.

Теперь создайте инструкции по использованию, которые я могу скопировать и вставить своим коллегам, чтобы они могли найти нужное место для выполнения кода. У нас есть Mac и Windows

И это было! Первый раз отлаживаем вместе с ИИ, копипастим консольные логи друг в друга. Я бы сказал, что это было похоже на парное программирование! :)

Этот код работает только с английским языком, но, может быть, теперь ваша очередь поиграть с ним? ;)