Поиск способа использования утилит javascript для упрощения модификации динамических веб-страниц - PullRequest
0 голосов
/ 06 мая 2019

Вероятно, мне следует предвосхитить это, сказав, что я не большой разработчик JS, но у меня большой опыт работы с языками более низкого уровня.По сути, у меня есть 5 отдельных URL-адресов, и все они отключены только на один символ (это последовательный набор чисел), поэтому я перебираю их и использую window.open(URL) для открытия страниц.Я пытаюсь прочитать данные с только что открытой веб-страницы и сохранить их в массиве.Страницы, которые я открываю, содержат только несколько букв и могут быть легко доступны с помощью varUsedToStorePage.document.body.innerHTML;однако у меня начались проблемы, потому что данные, которые возвращались после выполнения моего кода, не были ожидаемыми.Я получал массивы, которые показывали пустой набор скобок в консоли, но при расширении должны были бы быть все 5 значений, а также, если бы я вернулся в консоль после запуска и просто набрал arrayName, он напечатал бы значения обычно сбез вопросов.Изображение, показанное здесь: Imgur Я просто не совсем уверен, что следующий шаг должен сделать.Я пробовал несколько разных вещей.Я посмотрел обещания и async / await и попытался выполнить, но безрезультатно.Возможно, мне мешает то, что я знаю об этом, несмотря на тщательное онлайн-чтение.

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

let clockValues = [];

function x(){
  for(let i = 1; i < 6; i++){
      let page = window.open("URLHERE"); 
      page.addEventListener("load", function(){
        clockValues.push(page.document.body.innerHTML);
      }, true);
  });
  }
}

x();
console.log(clockValues);

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

Чтобы добавить к этому, главная причина, по которой у меня возникают проблемы, заключается в том, что я разочарован, потому что простые команды, такие как clockValues.join(""), отображаются пустыми или пустыми при запуске с моим кодом, но когда они помещаются вКонсоль после того, как она выполняется, работает отлично.Будем весьма благодарны за любые указания или шаги в этом направлении.

...