Как создать фрагмент документа в скрипте Google Apps? [дубликат]

0

Вопрос

Я создаю приложение в Google Таблицах, используя скрипт приложения Google. Приложение очищает веб - страницу и возвращает мне HTML-страницу в виде строки. Я пытаюсь вставить его в DOM, чтобы использовать запросы DOM для поиска нужных мне данных на странице. Обычно это можно сделать, либо создав фрагмент документа с document.createDocumentFragment(), или создание отдельного элемента с document.createElement(), затем установите innerHTML с помощью строки HTML. Проблема в том, что у ГАЗА нет document контекст.

У кого-нибудь есть идеи по обходному пути или, может быть, какой-то другой способ запроса большой текстовой строки?

p.s. Моим самым первым инстинктом было найти данные, которые мне нужны в качестве API, но я не могу найти ничего, что отвечало бы моим потребностям. Очистка экрана - мое последнее средство.

ОБНОВЛЕНИЕ: Спасибо всем, кто нашел и пометил аналогичный вопрос. Библиотека Cheerio для GS-это правильное решение. https://stackoverflow.com/a/61928025/735374

1

Лучший ответ

0

Вы не можете создать DOM в скрипте Google Apps, по крайней мере, в коде на стороне сервера.

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

Потенциально вы можете сделать это в качестве дополнения Sheets, если не требуется запускать скрипт без присмотра. В этом случае рабочий процесс будет осуществляться в соответствии с:

  • Очистите данные HTML в виде строки
  • Создайте объект HTMLOutput с помощьюcreateHtmlOutput(html) метод
  • Откройте HTML-файл в виде диалогового окна или боковой панели и выполните вызовы селектора запросов внутри диалогового окна. (В этом случае вам придется добавить их в качестве кода внутри <script> тег, который запускается при загрузке страницы
  • Верните значения в скрипт Google Apps с помощьюgoogle.script.run
2021-11-23 10:49:27

I hope this is helpful to you

Подумайте о том, чтобы перенести этот ответ сюда
TheMaster

Спасибо, в итоге я использовал регулярное выражение грубой силы, которое сработало в моей конкретной ситуации, но это хорошие предложения.
T Nguyen

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

Популярное в этой категории

Популярные вопросы в этой категории