Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/64: Рейтинг темы: голосов - 64, средняя оценка - 4.95
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281

Как можно получить данные с сайта в консоли разработчика Chrome?

14.10.2018, 01:18. Показов 13867. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

С js вообще не дружу, но хочется попробовать реализовать одну штуку через консоль Хром - Инструменты разработчика.

Ситуация:

Есть сайт, на котором постоянно обновляются данные.
Как можно с помощью консоли хрома в инструментах разработчика постоянно получать обновляющиеся данные, присваивать их переменной, чтобы проанализировать и записать в лог куда-либо. То есть разработать систему по анализу и сбору информации.

Коряво объяснил, но надеюсь понятно.

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

Если смотреть код элемента где хранятся данные, Хром показывает следующее:

JavaScript
1
<span class="table__score-more">(4-5)</span>
А когда нажимаю на строку дописывается: ==$0

То есть мне нужно данный элемент присвоить переменной.

Объясните что к чему пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2018, 01:18
Ответы с готовыми решениями:

Как Образом Можно Получить Данные С Сайта В Lotus
Если взять пример через XML: Sub Click(Source As Button) Dim session As New NotesSession Dim ws As New notesuiworkspace Dim doc...

Как получить cookies для определенного сайта из браузера Google Chrome?
Здравствуйте. Суть вопроса такова: нужно получить cookies для определенного сайта из браузера Google Chrome посредством JavaScipt. Нужно...

Как в консоли можно получить значение нажатой пользователем клавиши
Как в консоли C# можно получить значение нажатой пользователем клавиши, или узнать значение введенной строки? Помню как то 3 года назад...

24
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
14.10.2018, 10:17
Лучший ответ Сообщение было отмечено i95-05 как решение

Решение

Есть расширение для хрома https://chrome.google.com/webs... lmkecfmpld
Когда его установите, зайдете на нужную страничку и нажмете значок расширения в правом верхнем углу браузера

Откроется окно для ввода кода. Там можете ввести что-то вроде

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var value;
 
function watchChanges() {
    
    var selector = '.table__score-more'; //Но возможно он не один, тогда нужно анализировать
    
    var elem = document.querySelector(selector);
    if(elem) {
        var newValue = elem.innerHTML;
    } else {
        newValue = 'not found';
    }
    
    if(newValue !== value)
            console.log((value = newValue) + ' (' + (new Date()) + ')')
}
 
setInterval(watchChanges, 10000); //Раз в 10 секунд
Сохраняете, обновляете страницу и раз в 10 секунд будет проверяться и выводиться в логи новое значение, если оно изменилось
1
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
14.10.2018, 18:41  [ТС]
renat_dmitriev, спасибо за набросок, а можно с тобой пообщаться вне форума?
0
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
15.10.2018, 11:57  [ТС]
renat_dmitriev, объясни пожалуйста, а как выбирать конкретный элемент на странице, если он не один с таким именем?
Цитата Сообщение от renat_dmitriev Посмотреть сообщение
var selector = '.table__score-more'; //Но возможно он не один, тогда нужно анализировать
Столкнулся с такой проблемой.

Добавлено через 1 час 14 минут
Есть кто разбирается?
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
15.10.2018, 13:18
i95-05, Если вы пытаетесь научиться, то сначала нужно почитать документацию про строение дерева, про селекторы, а если вы просто хотите решить эту конкретную задачу, то киньте ссылку на сайт или ее html-код. Потому что объяснить в двух словах строение дерева и все особенности выборки немного проблематично.
0
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
15.10.2018, 14:19  [ТС]
renat_dmitriev, с поиском элементов с одинаковыми названиями я разобрался функцией document.querySelectorAll, а далее перебирая получившийся массив.
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
15.10.2018, 15:51
Лучший ответ Сообщение было отмечено i95-05 как решение

Решение

i95-05,

с поиском элементов с одинаковыми названиями я разобрался функцией document.querySelectorAll, а далее перебирать массив.

Подскажи пожалуйста, как из строки отсеить нужное. Читал про регулярки, но не разобрался как ими пользоваться.

В строку попадает следующее:

<!-- react-text: 191 -->Фетизлям<!-- /react-text -->

Число всегда меняется, но оно и не важно, а вот ещё меняется что между --> <!-- как это можно выудить?

JavaScript
1
2
3
4
5
6
var str = '<!-- react-text: 191 -->Фетизлям<!-- /react-text -->';
 
var res = str.match(/--\>(.*)\<\!--/);
 
if(res) res = res[1];
//В переменной res будет значение
1
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
16.10.2018, 07:09  [ТС]
renat_dmitriev, да круто, спасибо - работает.
А то я replace'ами избавился от того что постоянно, а цифры остались )

Добавлено через 50 минут
На странице есть элемент:
JavaScript
1
<span class="ev-tabs__item--NcTxT">Нажми</span>
Подскажи, как можно организовать клик на него?
В инете прочитал про:
JavaScript
1
$('#your_lo').click();
И такое:
JavaScript
1
$('button').trigger('click');
Но не работает. Пишет - TypeError: Cannot read property 'trigger' of null
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
16.10.2018, 07:29
Лучший ответ Сообщение было отмечено i95-05 как решение

Решение

Цитата Сообщение от i95-05 Посмотреть сообщение
как можно организовать клик на него?
JavaScript
1
document.getElementsByClassName("ev-tabs__item--NcTxT")[0].click();
Добавлено через 2 минуты
i95-05,
Если нужно что бы клик произошел не сразу а через какое-то время то так:
JavaScript
1
setTimeout(()=> document.getElementsByClassName("ev-tabs__item--NcTxT")[0].click(), 2000);
2000 это время в миллисекундах через которое произойдет клик
1
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
16.10.2018, 07:46  [ТС]
Цитата Сообщение от Mr_Sergo Посмотреть сообщение
1
document.getElementsByClassName("ev-tabs__item--NcTxT")[0].click();
-document.getElementsByClassName("ev-tabs__item--NcTxT")[0].click();
-undefined

Это ответ консоли.

А.... сработало, только нажало не туда.

Таких класса два на странице, и он нажимает на первый, а мне нужно на второй.

А если быть точнее, то первый имеет такое название <span class="ev-tabs__item--NcTxT _state_selected--2OFS4">Матч</span>
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
16.10.2018, 07:49
Цитата Сообщение от i95-05 Посмотреть сообщение
только нажало не туда
Посмотрите класс у элемента по которому нужно имитировать клик и здесь в кавычках пропишите:
document.getElementsByClassName("ev-tabs__item--NcTxT")[0].click();

Добавлено через 28 секунд
Вместо красного тот класс который нужен
1
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
16.10.2018, 07:55  [ТС]
Mr_Sergo,

JavaScript
1
2
3
4
<div class="ev-tabs--3u3Yz">
<span class="ev-tabs__item--NcTxT">НАЖМИ_1</span>
<span class="ev-tabs__item--NcTxT _state_selected--2OFS4">НАЖМИ_2</span>
</div>
Нажимает на 1, а надо на второе.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
16.10.2018, 07:56
Цитата Сообщение от i95-05 Посмотреть сообщение
Таких класса два на странице, и он нажимает на первый, а мне нужно на второй
JavaScript
1
document.getElementsByClassName("ev-tabs__item--NcTxT")[1].click();
Просто вместо 0 пишите 1 в квадратных скобках
1
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
16.10.2018, 07:57  [ТС]
Щас попробую.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
16.10.2018, 07:58
JavaScript
1
2
3
4
5
document.getElementsByClassName("ev-tabs__item--NcTxT")[0].click();  // так произойдет клик по первому найденному элементу
document.getElementsByClassName("ev-tabs__item--NcTxT")[1].click();  // так по второму
document.getElementsByClassName("ev-tabs__item--NcTxT")[2].click();  // так по третьему
document.getElementsByClassName("ev-tabs__item--NcTxT")[3].click();  // по четвертому
document.getElementsByClassName("ev-tabs__item--NcTxT")[4].click();  // по пятому
И так далее
1
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
16.10.2018, 07:59  [ТС]
Mr_Sergo,
Оооо... круть!!! Всё работает )
0
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
18.10.2018, 06:22  [ТС]
renat_dmitriev, Mr_Sergo, привет, подскажите пожалуйста если можете.

На странице есть 1 класс ev-grids--KwN1P, в нём 5 классов table__details (мне нужен только один и он меняет свою позицию на сайте и соответственно в коде), в каждом из этих классов есть класс table__grid-body, в котором есть два класса с названием table__grid-row, из которых нужен только первый, в котором есть два класса с названием table__grid-col _type_btn, значение которых оба и нужны.

Их вообще реально достать?

На скрине 123.JPG представлено само дерево класса ev-grids--KwN1P.
Миниатюры
Как можно получить данные с сайта в консоли разработчика Chrome?  
0
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
18.10.2018, 06:33  [ТС]
Если делаю так:

JavaScript
1
2
3
4
5
6
7
8
9
10
var selector6 = 'table__grid-col _type_btn';
 
var elem6 = document.getElementsByClassName(selector6);
 
if (elem6)
{
newValue61 = elem6[0].innerHTML;
newValue62 = elem6[1].innerHTML;
}
else { newValue61 = 0; newValue62 = 0; }
То отрабатывает нормально в том случае, если позиция класса нужного из 5-ти table__details является 1-ой по счёту, а когда данный класс меняет позицию, то соответственно скрипт берёт значения из другого не нужного table__details.

Думал, может как-нибудь возможно уконкретить по критерию какому-нибудь какой нужен именно table__details, чтобы нормально код выше отрабатывал.

Могу добавить, что в нужном классе из 5-ти table__details, знаю что заключено в 1-ом подклассе table__grid-col _type_text.

Получилось очень как мне кажется нагромождено, но надеюсь в этой ситуации можно что-либо сделать.
0
 Аватар для АИЕ
4 / 4 / 0
Регистрация: 28.09.2015
Сообщений: 281
19.10.2018, 06:47  [ТС]
Может есть кто ещё может помочь разобраться?

Добавлено через 1 час 29 минут
Я щас почитал можно делать не только поиск по документу, но и по элементу.

Возможно ли делать поиск класса по классу?
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
19.10.2018, 07:48
i95-05,

Класс в классе:
HTML5
1
2
3
<div class="box">
    <div class="my-class">Цель</div>
</div>
JavaScript
1
2
3
var box = document.querySelectorAll('.box')[0];         // Выбрали 1-ый элемент с классом "box"
var myClass = box.querySelectorAll('.my-class')[0];     // Выбрали 1-ый элемент с классом "my-class" в классе "box"
alert(myClass.textContent);                             // Вывели текстовое содержимое класса "my-class" на экран

Демка -> https://codepen.io/Mr_Sergo/pen/MPGpPQ

Добавлено через 2 минуты
Либо так:
JavaScript
1
2
var myClass = document.querySelectorAll('.box > .my-class')[0];
alert(myClass.textContent);
Добавлено через 6 минут
А вообще... что вы хотите получить конкретно? содержимое того что у вас на скрине отмечено стрелочками?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2018, 07:48
Помогаю со студенческими работами здесь

Как получить данные с сайта?
Не могу понять , как получить доступ к ресурсам при использовании прокси-сайтов такого плана как : http://daidostup.ru/ а нужно попасть...

Как получить данные с сайта?
как получить данные с сайта http://www.nbg.ge/index.php?m=582 прошу сделать пример пример из этого файла

Как получить данные с веб-сайта?
Здравствуйте. Возникла необходимость дистанционно ограничивать функционал рабочих компьютеров, для чего была написана программка,...

Как получить данные с сайта о регистрации?
Здравствуйте, такой вопрос, как при регистрации пользователя автоматически отправить файл (запрос, выгрузку) на сервер, который написан на...

Как получить нужные мне данные с сайта?
В общем задача такая, с этого сайта https://www.myscore.ru/match/2LzbBZBI/#point-by-point;1 вытащить эти строчки 0:15, 15:15,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru