Показать сообщение отдельно
  #16 (permalink)  
Старый 24.10.2019, 19:46
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от basil.veber
Запросы получают ответ 200 что все ок. Но ссылка не передается при открытии браузером новой вкладки, после клика по кнопке.
Посмотрите, что скачало, может на том сайте выполнен хитрый алгоритм по предотвращению скачивания (и вам показывают капчу), может там переход на другую страницу, может там ссылка внутри <iframe>, может эти ссылки создаются программно, мой скрипт находит ссылку именно в исходном коде страницы, так как если бы вы нажали Ctrl+U, чтобы посмотреть исходный код.

Обратите внимание на то, что мой код скачивает исходный код страницы, и в нём ищет ссылку, если вам нужен поиск ссылки в отрисованной странице, где выполнены все скрипты, то вам стоит использовать, например, puppeteer

(Если вы делаете что-то исключительно для себя, то может вам поможет браузерное расширение Tampermonkey)

Сообщение от basil.veber
При querySelector('a.link-title').href); - при клике по кнопке это
Если document.links[1] не содержит ссылки, то querySelector('a.link-title') и подавно ничего не найдёт. Соответственно чтение свойства href у не существующего объекта вызовет ошибку! document.links содержит список всех ссылок на странице.

Сообщение от basil.veber
При querySelectorAll('a.link-title').href); - новая вкладка опять с about:blank
querySelectorAll('a.link-title') возвращает список элементов, даже если их нет (список пустой), вы читаете свойство href у самого списка элементов. Поэтому ошибки нет. Но у списка элементов нет свойства href, поэтому вы получаете undefined, который у вас открывается в виде about:blank

Вот как!
Ответить с цитированием