CheerioGS如何获取完整HTML元素而非仅文本或指定属性
直接打印CheerioGS选中返回的Regiao对象会触发死循环,是因为Google Apps Script的Logger在序列化Cheerio封装的复杂嵌套DOM对象时存在适配问题,并非检索逻辑出错。
要获取完整的元素HTML代码,使用$.html()方法传入选中的元素即可,该方法会返回元素的完整outerHTML(包含标签本身、所有属性和内部内容),修改后的代码如下:
function test() { var url = 'https://int.soccerway.com/'; const contentText = UrlFetchApp.fetch(url).getContentText(); const $ = Cheerio.load(contentText); var Regiao = $('#date_matches-87 > th:nth-child(1) > h3'); // 获取选中元素的完整HTML代码 var fullElement = $.html(Regiao); Logger.log(fullElement); }
如果只需要元素内部的HTML内容(不含元素本身的标签和属性),直接调用选中元素的.html()方法即可,示例:Regiao.html()。
如果你需要获取目标span元素的完整代码,替换选择器为对应span的定位规则即可,调用$.html()传入选中的span对象就能得到你需要的完整<span class="flag_16 left_16 argentina_16_left">Argentina - Liga Profesional Argentina</span>内容。
内容的提问来源于stack exchange,提问作者Digital Farmer
相关产品推荐
相关产品推荐

