Jak stworzyć fragment dokumentu w skrypcie Google Apps? [duplikat]

0

Pytanie

Tworzę aplikację w Google Tabelach za pomocą skrypt aplikacji Google. Aplikacja czyści stronę i zwraca mi stronę HTML w postaci wiersza. Próbuję wkleić go w DOM, aby użyć zapytania DOM dla wyszukiwania potrzebnych mi danych na stronie. Zazwyczaj można to zrobić, albo tworząc fragment dokumentu z document.createDocumentFragment()lub tworzenie poszczególnych elementów z document.createElement(), a następnie zaznacz innerHTML za pomocą polecenia HTML. Problem w tym, że GAZU nie ma document kontekst.

Ma ktoś jakieś pomysły na обходному drodze, czy może być jakiś inny sposób żądania duży ciąg tekstowy?

p.s. Moim pierwszym instynktem było znaleźć dane, które nie są mi potrzebne jako API, ale nie mogę znaleźć nic, co odpowiadało moim potrzebom. Czyszczenie ekranu - moja ostatnia deska ratunku.

AKTUALIZACJA: Dziękujemy wszystkim, kto znalazł i oznaczył podobne pytanie. Biblioteka Cheerio dla GS-to jest właściwe rozwiązanie. https://stackoverflow.com/a/61928025/735374

1

Najlepsza odpowiedź

0

Nie można utworzyć DOM w skrypcie Google Apps, przynajmniej w kodzie po stronie serwera.

Aby zamówić wiersz HTML, musisz dokładnie wiedzieć, gdzie na stronie będą znajdować się potrzebne dane z идентифицируемыми подстроками, takie jak identyfikatory elementów, ale często są one generowane i dlatego nie mogą być znane. HTML też, jak wiadomo, nie może być analizowany regularnych wyrazem.

Potencjalnie możesz zrobić to jako dodatek Sheets, jeśli nie chcesz uruchomić skrypt bez opieki. W tym przypadku proces roboczy odbywać się będzie zgodnie z:

  • Wyczyść dane HTML w postaci wiersza
  • Utwórz obiekt HTMLOutput z pomocącreateHtmlOutput(html) metoda
  • Otwórz plik HTML w postaci okna dialogowego lub bocznym panelu i wykonaj połączenia sterującej zapytań wewnątrz okna dialogowego. (W tym przypadku trzeba będzie dodać je jako kodu wewnątrz <script> znacznik, który jest uruchamiany podczas ładowania strony
  • Przywróć w skrypt Google Apps za pomocągoogle.script.run
2021-11-23 10:49:27

I hope this is helpful to you

Pomyśl o tym, aby przenieść tę odpowiedź tutaj
TheMaster

Dziękuję, w końcu użyłem wyrażenia regularne brutalnej siły, która działa w mojej konkretnej sytuacji, ale to dobre propozycje.
T Nguyen

W innych językach

Ta strona jest w innych językach

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