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

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

14.10.2018, 01:18. Показов 13922. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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 считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru