Cum de a crea un fragment de document în Google Apps Script? [duplicat]

0

Problema

Am creat o aplicație în Google Foi folosind Google App Script. Aplicația zgarieturi-o pagină web și se întoarce o pagină HTML pentru mine, ca un șir de caractere. Încerc să introduceți-l într-un DOM, astfel încât să pot folosi DOM interogări pentru a găsi datele de care am nevoie în cadrul paginii. În mod normal, ai putea face asta fie prin crearea unui fragment de document cu document.createDocumentFragment()sau crearea unui element detașat cu document.createElement(), apoi setarea innerHTML cu HTML șir. Problema este, de GAZ nu au un document context.

Are cineva idei pentru o soluție, sau poate un alt mod de a interoga un mare șir de text?

p.s. Primul meu instinct a fost de a găsi datele de care am nevoie ca un API, dar nu pot găsi nimic care satisface nevoile mele. Ecran răzuire este ultima mea solutie.

UPDATE: vă Mulțumesc pentru oricine ar fi găsit și etichetat întrebare similară. Noroc biblioteca pentru GS este soluția corectă. https://stackoverflow.com/a/61928025/735374

1

Cel mai bun răspuns

0

Nu puteți crea un DOM în Google Apps Script, cel puțin nu în cod server-side.

În scopul de a interoga șir HTML ai nevoie să știi exact unde în pagină datele de care aveți nevoie va fi cu siruri de caractere identificabile, cum ar fi elementul Id - uri- dar de multe ori acestea sunt generate și deci nu poate fi cunoscut. HTML este, de asemenea, celebru în imposibilitatea de a fi analizat de către RegEx.

Ai putea face acest lucru ca un Foi add-on, dacă script-ul rula nesupravegheat nu este necesară. În acest caz fluxul de lucru ar fi de-a lungul liniilor de:

  • Racla HTML date ca un șir
  • Creați un HTMLOutput obiect folosind createHtmlOutput(html) metoda
  • Deschide HTML ca un dialog sau bara laterală și să-ți faci querySelector apeluri în interiorul dialog. (În acest caz, va trebui să adăugați aceste fel de cod într-un <script> tag-ul care ruleaza pe pagina de încărcare
  • Reveni la valorile de la Google Apps Script folosind google.script.run
2021-11-23 10:49:27

I hope this is helpful to you

Luați în considerare mutarea acest răspuns aici
TheMaster

Multumesc, am ajuns să folosesc forța brută regex care s-a întâmplat să lucreze pentru situația specifică, dar acestea sunt sugestii bune.
T Nguyen

În alte limbi

Această pagină este în alte limbi

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