Ako vytvoriť dokument fragment v službe Google Apps Skript? [duplicitné]

0

Otázka

Som vytvorenie aplikácie v službe Google Listov pomocou Google App Skriptu. Aplikácia škrabancov webovú stránku a vráti HTML stránky pre mňa ako reťazec. Snažím sa ho vložiť do DOM, aby som mohol použiť DOM dotazy nájsť údaje potrebujem v rámci stránky. Za normálnych okolností, by ste mohli urobiť, že buď vytvorenie dokumentu fragment s document.createDocumentFragment()alebo vytváranie detašovaných prvok s document.createElement()a potom nastavenie innerHTML s HTML reťazec. Problém je, PLYNU nemá document kontexte.

Má niekto nápady na riešenie, alebo možno nejaký iný spôsob, ako dotaz, veľký textový reťazec?

p.s. Môj úplne prvý inštinkt bolo nájsť údaje potrebujem ako API, ale nemôžem nájsť nič, čo vyhovuje mojim potrebám. Skenovanie obrazovky je moja posledná možnosť.

AKTUALIZÁCIA: Ďakujeme, že ste pre toho, kto našiel a označené na podobné otázky. Cheerio knižnica pre GS je správne riešenie. https://stackoverflow.com/a/61928025/735374

1

Najlepšiu odpoveď

0

Nie je možné vytvoriť DOM v službe Google Apps Skript, aspoň nie na strane servera a kód.

V záujme dotaz HTML reťazec, ktorú by bolo potrebné vedieť, kde presne na stránke údaje, ktoré potrebujete bude s identifikovateľné podreťazca ako obsahujúce prvok, Id - ale často krát tieto sú generované a tak nemôže byť známe. HTML je tiež skvele nemôže byť analyzovaný podľa regulárny výraz.

By ste mohli potenciálne urobiť ako Listy add-on, ak má skript spustiť bez dozoru nie je potrebné. V tomto prípade postupu by sa v duchu:

  • Škrípanie HTML údaje ako reťazec
  • Vytvoriť HTMLOutput objekt pomocou createHtmlOutput(html) metóda
  • Otvoriť HTML ako dialógové okno, alebo bočný panel a to querySelector hovory vo vnútri okna. (V tomto prípade sa, budete musieť pridať tieto ako kód vnútri <script> tag, ktorý beží na načítanie stránky
  • Vrátenie hodnoty na Google Apps pomocou Skriptu google.script.run
2021-11-23 10:49:27

I hope this is helpful to you

Zvážte presunutie táto odpoveď tu
TheMaster

Vďaka, som skončil s použitím hrubej sily regulárny výraz, ktorý sa do práce na mojej konkrétnej situácie, ale sú dobré návrhy.
T Nguyen

V iných jazykoch

Táto stránka je v iných jazykoch

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