Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.10.2022, 12:42
Интересующийся
Отправить личное сообщение для ronaldo Посмотреть профиль Найти все сообщения от ronaldo
 
Регистрация: 03.10.2022
Сообщений: 15

Два клика на 2 страницах
Добрый день.

Подскажите причину.

На определенном сайте есть эти необходимые элементы.

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

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

var getTags = document.getElementsByClassName("prev");
console.log (getTags.length);
console.log (getTags[0].firstChild.getAttribute("href"));
getTags[0].firstChild.click();

Но если выполнить все вместе вот так :

var getTags = document.getElementsByClassName("prev");
console.log (getTags.length);
console.log (getTags[0].firstChild.getAttribute("href"));
getTags[0].firstChild.click();

console.log (1);
await new Promise(resolve => setTimeout(resolve, 15000));
console.log (2);

var getTags = document.getElementsByClassName("prev");
console.log (getTags.length);
console.log (getTags[0].firstChild.getAttribute("href"));
getTags[0].firstChild.click();

То выполнение останавливается после перехода на вторую страницу и со второй страницы перехода нет.
Ошибка такая TypeError: Cannot read properties of undefined (reading 'requestContent')


Что посоветуете?
Ответить с цитированием
  #2 (permalink)  
Старый 11.10.2022, 13:07
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,725

Ваш скрипт "умирает" после перехода на новую страницу, поэтому добавляйте свой скрипт на каждую страницу, смотрите в скрипте какая страница сейчас загружена и переходите по нужной ссылке.
Ответить с цитированием
  #3 (permalink)  
Старый 11.10.2022, 15:15
Интересующийся
Отправить личное сообщение для ronaldo Посмотреть профиль Найти все сообщения от ronaldo
 
Регистрация: 03.10.2022
Сообщений: 15

Так вот как раз интересует, как сделать чтобы ничего не отслеживать.
А выполнить одинаковый блок кода на двух страницах.

И почему в ручном режиме все нормально.
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2022, 07:53
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 498

ronaldo,
Либо писать своё расширение (аддон) к браузеру, либо посмотрите в сторону userscripts - может быть они позволяют такое.
Ответить с цитированием
  #5 (permalink)  
Старый 17.10.2022, 08:34
Интересующийся
Отправить личное сообщение для ronaldo Посмотреть профиль Найти все сообщения от ronaldo
 
Регистрация: 03.10.2022
Сообщений: 15

Как дождаться полной загрузки страницы
и только потом продолжить выполнение внешнего скрипта?
Ответить с цитированием
  #6 (permalink)  
Старый 17.10.2022, 08:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ronaldo
Как дождаться полной загрузки страницы
https://learn.javascript.ru/onload-ondomcontentloaded
Ответить с цитированием
  #7 (permalink)  
Старый 17.10.2022, 11:30
Интересующийся
Отправить личное сообщение для ronaldo Посмотреть профиль Найти все сообщения от ronaldo
 
Регистрация: 03.10.2022
Сообщений: 15

Такой код:

while (document.readyState != 'complete') {
} ;
console.log (" Страница загружена ");

var currentTime = new Date().getTime();

while (currentTime + 10000 >= new Date().getTime()) {
};

console.log (" Прошло 10 секунд ");

Необходимо после загрузки страницы продолжить выполнение например через 10 сек.
Страница открывается, но индикатор загрузки страницы продолжает отображаться пока не появится сообщение Прошло 10 секунд.
Но если страница загрузилась, почему отображается на вкладке индикатор загрузки.

Или как по другому это реализовать?
Ответить с цитированием
  #8 (permalink)  
Старый 17.10.2022, 11:40
Интересующийся
Отправить личное сообщение для ronaldo Посмотреть профиль Найти все сообщения от ronaldo
 
Регистрация: 03.10.2022
Сообщений: 15

Уточнение.

Индикатор загрузки страницы продолжает отображаться и только после 10 секунд происходит переход на другую страницу в браузере.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перехват события клика и отмена клика abadon Node.JS 7 28.05.2021 12:59
Два клика по кнопке Vahan60 Events/DOM/Window 9 10.06.2020 12:35
Два меню и поиск в мобильной версии serhio11 (X)HTML/CSS 1 18.12.2019 18:08
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03