Как найти файл на сайте через консоль

Ребята, привет!
Как найти файлы формата .pdf которые хранятся на сайте через консоль браузера?


  • Вопрос задан

    более трёх лет назад

  • 4240 просмотров

Пригласить эксперта

Вопрос конечно такой, что хочется отправить изучать javascript и что он может в браузере
Но все же давайте повангую… есть некий сайт, на одной из его страниц несколько ссылок на .pdf документы, Вы хотите собрать url этих ссылок с помощью консольки, угадал?

Если угадал:

Array.prototype.map.call(document.getElementsByTagName('a'), function(link) {
  return link.href;
}).filter(function(url) {
  return url.endsWith('.pdf');
});

*пробиваю рукой лицо*
Вы, что ли, консоль Линя учите?
Да, нет таких команд. Есть(в дебаггере) список загруженных файлов, но, полагаю, вы имеете ввиду ссылки.


  • Показать ещё
    Загружается…

25 мая 2023, в 12:09

3000 руб./за проект

25 мая 2023, в 11:42

1000 руб./за проект

25 мая 2023, в 11:34

1000 руб./за проект

Минуточку внимания

Добрый день! Есть сайт на CMS Bitrix, написанный на PHP. На главной странице есть всплывающее окно для заполнения параметров обратного звонка. Один из заполняемых параметров окна имеет выпадающее меню вариантов. Я администратор и у меня есть доступ к структуре сайта по FTP (Mozilla). В консоли панели разработчика Chrome я нашел ту часть кода, где нужно поменять выпадающие позиции (они перечислены в теле кода). Но я не могу найти исходный файл с этим кодом в структуре файлов. Обратиться к разработчику нет возможности.
Поиск через меню консоли не дал результатов.
Подскажите, где в структуре сайта стоит поискать: тип файла, возможные названия.
С PHP, HTML, JS знаком. Привожу фрагмент кода из консоли.**введите сюда описание изображения**

задан 28 авг 2017 в 11:53

user265072's user avatar

6

если есть полный доступ, можно скачать сайт к себе и в notepad++ сделать поиск по папкам/файлам на предмет: «</select>«

думаю, что код захвата данных с базы находится между атрибутами <select></select>

Всплывающие окно может быть из js скрипта, можно поискать по вариациям display = "none" или display для поиска кода внутри js.

В любом случае нужно искать в исходном коде, а не в сгенерированном в браузере.

ответ дан 2 сен 2017 в 5:42

Leo Tahk's user avatar

2

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

Адреса файлов на серверах

Для начала предлагаю разобраться с тем, как вообще происходит получение адресов файлов. Самый распространенный способ – использование доступа к элементам при помощи протокола HTTP. В этом случае файлы выгружаются юзерами при помощи специального кодирования. В следующем отрывке кода вы наглядно видите, как происходит бинарный тип кодирования с использованием атрибута enctype:

<form action="upload" method="POST" enctype="multipart/form-data">

    <input type="file" name="myfile">

    <br/>

    <input type="submit" name="Submit">

</form>

Второй распространенный вариант – использование протокола FTP, который может работать в обоих направлениях – как для загрузки файлов, так и для их скачивания. На следующем скриншоте вы видите пример того, как отображается по FTP открытая для пользователей папка сайта с возможностью скачать любой файл.

Использование FTP-сервера для определения абсолютного пути файла

Соответственно, на этой же странице можно с легкостью получить информацию о полном пути файла.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Определение адреса файла на сервере

Разберу основные методы получения адресов файлов, хранящихся на сервере. 

Консольная утилита pwd (для Linux)

Пользователи выделенного сервера или VDS с Linux могут задействовать простую консольную утилиту pwd, которая предназначена для отображения пути текущего каталога, где сейчас и выполняются все действия. Эту утилиту можно использовать и для определения адреса файла на сервере. Вывод абсолютного пути осуществляется путем ввода простой команды:

Использование утилиты pwd для определения пути файла на сервере

Она поддерживает дополнительные опции, позволяющие немного модернизировать результат вывода:

-L отменяет разыменовывание символических ссылок, их отображение осуществляется без конвертирования в исходный путь.

-p  конвертирует символические ссылки в их исходные имена с отображением указываемых директорий.

Если вы задаетесь вопросом, можно ли использовать pwd в своих скриптах, то ответ на него будет «Да». В этом нет ничего сложного, а простое представление объявления утилиты выглядит как DIR=`pwd` или DIR=$(pwd).

Панели управления и FTP

При использовании услуг хостинга управление собственным веб-ресурсом происходит при помощи местной административной панели. Необходимо только знать ее устройство, чтобы быстро определить полный путь любого файла на сервере. Найдите домашнюю директорию в одном из разделов аккаунта. Путь к сайту может выглядеть примерно так: /var/www/user/data или /srv/www/hosts/mysite.com.

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

Если вы арендуете виртуальный хостинг, то путь к файлу легко определить, если подключиться к серверу по FTP. 

Адрес файла

Откроем свойства файла любого файла в папке тестового сайта на WordPress и увидим его полный FTP-адрес.

Создание PHP-скрипта

Есть небольшой скрипт, который нужно сохранить в отдельном файле. Он позволяет получить абсолютный путь любого файла, а реализовывается это благодаря тому, что вся информация уже хранится под одной переменной $_SERVER. Создайте пустой файл и вставьте туда следующий код:

<?php

echo 'Document root: '.$_SERVER['DOCUMENT_ROOT'].'<br>';

echo 'Полный путь к скрипту и его имя: '.$_SERVER['SCRIPT_FILENAME'].'<br>';

echo 'Имя скрипта: '.$_SERVER['SCRIPT_NAME'];

?>

Отредактируйте его под себя, после чего сохраните с любым названием и задайте тип файла .php. Используйте FTP-клиент для загрузки этого файла в корневую папку целевого сайта. 

Последний этап – запуск этого скрипта. В адресной строке браузера введите адрес вашего сайта и в конце добавьте /file.php, где file замените на название файла со скриптом. На новой странице в веб-обозревателе отобразятся примерно следующие сведения:

Document root: /home/XXXXX/YYYYY

Полный путь к скрипту и его имя: /home/XXXX/YYYYY/url_path.php

Имя скрипта: /url_path.php

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

У меня очень большой (с точки зрения расширяемости — есть много узлов, которые можно расширить), объект, который я просматриваю на вкладке консоли инструментов Chrome dev. Я ищу определенную ценность для отладки диаграммы. Есть ли способ выполнить CTRL-F (найти), а инструменты Chrome dev расширить соответствующие узлы, чтобы раскрыть его местоположение? Я могу вручную развернуть каждый узел, но это, скорее всего, займет навсегда (например, я сказал — LOTS узлов). Я новичок в HTML, поэтому, возможно, это нечто тривиальное. Прямо сейчас, когда я выполняю CTRL-F, он сообщает мне, сколько экземпляров существует, но оно не выделяет их, если узлы уже не расширены.

В двух словах, можете ли вы использовать CTRL-F в инструментах разработчика Chrome (вкладка Консоль) и заставить его развернуть нужные узлы и выделить/показать, где находится консоль?

EDIT (добавлено изображение):

Изображение 360496

Автор: Кристин Джеквони (Kristin Jackvony)
Оригинал статьи
Перевод: Ольга Алифанова

Недавно я прошла этот отличный курс по поиску веб-элементов от Эндрю Найта в Test Automation University. Вдобавок к полезному синтаксису доступа к элементам, я также выучила еще один способ с пользой применить инструменты разработчика!

Один из самых раздражающих моментов UI-автоматизации заключается в попытке выяснить, как найти на странице элемент без идентификатора автоматизации. Возможно, вы знаете, что если открыть инструменты разработчика в Chrome, то можно кликнуть правой клавишей на элемент страницы, выбрать Inspect, и этот элемент подсветится в DOM. Это полезно, но тут скрыто нечто еще более полезное: там есть строка поиска, позволяющая вам увидеть, правильно ли сработает локатор, который вы планируете использовать в тесте. Разберем на конкретном примере, как использовать этот ценный инструмент.

Откройте эту страницу – часть проекта Дейва Хэффнера «Welcome to the Internet», где можно попрактиковаться в поиске веб-элементов. На странице Challenging DOM есть таблица с элементами, которые трудно найти. Мы попробуем найти элемент таблицы с текстом “Iuvaret4”.

Для начала откроем инструменты разработчика. Самый простой способ это сделать – кликнуть правой кнопкой по одному из элементов на странице и выбрать «Inspect». Инструменты разработчика откроются справа или внизу страницы, и секция Elements будет отображать DOM.

Теперь откроем панель поиска. Кликните в любом месте секции Elements, и нажмите Ctrl+F. Внизу секции откроется панель поиска с текстом “Find by string, selector, or XPath”.

Мы воспользуемся этим инструментом для поиска элемента «Iuvaret4» через CSS. Кликните правой кнопкой по этому элементу в таблице и выберите Inspect. Элемент подсветится в DOM. Изучая DOM, можно увидеть, что это элемент <td> (данные таблицы), часть элемента <tr> (строка таблицы). Давайте посмотрим, что будет, если ввести tr в строку поиска и нажать Enter. Вернется 13 элементов. Сбоку от поисковой панели можно нажимать на кнопки «вверх» и «вниз», чтобы подсвечивать каждый найденный элемент. Первый tr в результатах – всего лишь часть слова «demonstrates». Следующий – часть заголовка таблицы. Все прочие tr – части тела таблицы, и там же находится и нужный нам элемент. Введем в поиск запрос tbody tr и нажмем Enter. Выдача сократилась до 10 результатов – рядов тела таблицы.

Мы знаем, что нам нужен пятый ряд в теле таблицы, поэтому поищем tbody tr:nth-child(5). Выдача сократилась до нужного ряда. Теперь найдем нужный <td>-элемент. Это первый элемент в ряду, поэтому если искать tbody tr:nth-child(5) td:nth-child(1), поиск выдаст только нужный нам элемент.

Это хороший CSS-селектор, но можно ли его сократить? Попробуйте убрать «tbody» из поиска. Оказывается, элемент отлично находится и по запросу tr:nth-child(5) td:nth-child(1).

Теперь мы знаем хороший способ найти нужный элемент через CSS, но что будет, если в таблицу добавят новую строку, или строки находятся в случайном порядке? Как только строки изменятся, мы уткнемся в неправильный элемент. Куда лучше искать точный текст. CSS этого не позволяет, поэтому попробуем найти элемент через XPath.

Удалите содержимое поисковой строки. Начнем с поиска тела таблицы. Введите в поиск //tbody и нажмите Enter. Наведясь на подсвеченную секцию DOM, вы увидите, что на странице подсветилась вся таблица целиком.

Внутри тела таблицы находится строка с нужным элементом, поэтому теперь поищем //tbody/tr. Мы получим десять результатов – десять рядов таблицы.

Мы знаем, что нам нужно выбрать специфический <td>-элемент тела: элемент, содержащий “Iuvaret4”. Поэтому введем в поиск запрос //tbody/tr/td[contains(text(), “Iuavaret4”)]. Мы получим нужный нам результат, а также XPath-выражение, которым можем пользоваться.

Но его, как и наш CSS-селектор, можно сократить. Попробуйте убрать оттуда “tbody” и “tr”. Оказывается, что все, что нам нужно для XPath – это //td[contains(text(), “Iuvaret4”)].

Без этого полезного поиска мы бы перепробовали кучу разных комбинаций CSS и XPath в тест-коде, вновь и вновь прогоняя тесты, чтобы увидеть, что сработает. Эта функция инструментов разработчика позволяет экспериментировать с разными стратегиями локаторов, получая немедленные результаты!

Обсудить в форуме

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти контакты в айклауде
  • Как исправить ошибку подлинности вай фай
  • Как найти количество людей от процента
  • Как найти клад во владимире
  • Как писать нашел новых друзей

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии