如何在下载的网页中获取 Html 元素的“innerHTML”?[关闭]

How to get the "innerHTML" of a Html element in a downloaded web page? [closed]

提问人:unstuck 提问时间:10/7/2023 最后编辑:TheMasterunstuck 更新时间:10/7/2023 访问量:52

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

上个月关闭。

我正在尝试创建一个 Google Apps 脚本函数,该函数返回网页的 ID 元素的内部 HTML。

使用 Web 浏览器的 JavaScript 控制台,可以执行以下操作:

document.getElementById("myID").innerHTML

在 Google Apps 脚本中:

function getValue(symbol) {
  
  symbol= 'ABCD';

  const url = `https://example.com/${symbol}`;

  const options = {
    headers: {'Content-Type':'application/xml'},
    method: 'GET'
  };

  const res = UrlFetchApp.fetch(url, options);
  const contentText = res.getContentText();
 
  // ????
}

从上面的代码中,我设法提取了整个网页内容 - 但是如何获取 id 的内部 html?myID

google-apps-script html解析 urlfetch

评论

1赞 Cooper 10/7/2023
您无法真正从应用程序脚本中启动任何与呈现的 html 的通信。您可以使用 set interval 和 google.script.run 将该信息从 html 发送到 appscript
0赞 TheMaster 10/7/2023
你正在寻找Cheerio。有一个 GAS 版本。

答:

1赞 TheMaster 10/7/2023 #1

服务器端 JavaScript 与客户端 JavaScript(Browser) 不同。服务器端没有 API 或它的任何方法。要解析 html,您可以使用服务器端 html 解析器,例如 Cheerio这里有一个 @tani/@3846masa 的 GAS 分支,它可能对你有用。服务器呈现 html/js 的方式与下载的 html 中可用的内容之间也存在差异。请参阅从使用 JavaScript 的网站抓取数据到 Google 表格windowdocument

如果你正在寻找xml解析器,有一个内置的解析器。

评论

1赞 unstuck 10/7/2023
我想 Cheerio 是我在这里需要的,我会看看。不知道他们为什么关闭了问题,降级了???无论如何,感谢您的帮助!