Google Apps Komut Dosyasında belge parçası nasıl oluşturulur? [çoğaltmak]

0

Soru

Google Uygulama Komut Dosyasını kullanarak Google E-Tablolar'da bir uygulama oluşturuyorum. Uygulama bir web sayfasını çizer ve bana bir HTML sayfasını dize olarak döndürür. Sayfa içinde ihtiyacım olan verileri bulmak için DOM sorgularını kullanabilmem için onu bir dom'a eklemeye çalışıyorum. Normalde, bunu bir belge parçası oluşturarak yapabilirsiniz document.createDocumentFragment() veya ayrılmış bir öğe oluşturma document.createElement() ardından, innerhtml'yi HTML dizesiyle ayarlayın. Sorun şu ki, GAZIN bir document bağlam.

Geçici bir çözüm için fikri olan var mı, yoksa büyük bir metin dizesini sorgulamanın başka bir yolu var mı?

ps İlk içgüdüm API olarak ihtiyacım olan verileri bulmaktı ama ihtiyaçlarımı karşılayacak hiçbir şey bulamıyorum. Ekran kazıma son çarem.

GÜNCELLEME: Benzer soruyu bulan ve etiketleyen kişi için teşekkür ederiz. GS için Cheerio kütüphanesi doğru çözümdür. https://stackoverflow.com/a/61928025/735374

1

En iyi cevabı

0

Google Apps Komut Dosyasında, en azından sunucu tarafı kodunda bir DOM oluşturamazsınız.

HTML dizesini sorgulamak için, ihtiyacınız olan verilerin, öğe kimliklerini içeren gibi tanımlanabilir alt dizelerle tam olarak nerede olacağını bilmeniz gerekir; ancak çoğu zaman bunlar üretilir ve bu nedenle bilinemez. HTML, RegEx tarafından ayrıştırılamadığı da bilinmektedir.

Komut dosyasının katılımsız çalıştırılması gerekmiyorsa, bunu potansiyel olarak bir Sheets eklentisi olarak yapabilirsiniz. Bu durumda iş akışı aşağıdaki satırlar boyunca olacaktır::

  • HTML verilerini bir dize olarak kazıyın
  • Kullanarak bir HTMLOutput nesnesi oluşturuncreateHtmlOutput(html) yöntem
  • HTML'yi bir iletişim kutusu veya kenar çubuğu olarak açın ve sorgu Seçici çağrılarınızı iletişim kutusunun içinde yapın. (Bu durumda, bunları bir kodun içine kod olarak eklemeniz gerekir <script> sayfayı yüklerken çalışan etiket
  • Değerleri kullanarak Google Apps Komut Dosyasına geri dönüngoogle.script.run
2021-11-23 10:49:27

I hope this is helpful to you

Düşünün hareket eden bu cevap burada
TheMaster

Teşekkürler, özel durumum için işe yarayan kaba kuvvet regex'i kullandım, ancak bunlar iyi öneriler.
T Nguyen

Diğer dillerde

Bu sayfa diğer dillerde

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