首页 > 解决方案 > 获取 API 未获取完整的 HTML 页面

问题描述

我正在使用 Fetch API 从网页中获取一些(公共)数据。这是我的代码:

const proxyurl = "https://cors-anywhere.herokuapp.com/";
var bookUrl = "the+old+man+and+the+sea";
var url = 'https://miss.ent.sirsidynix.net/client/en_US/mlsathome/search/results?qu=' + 
bookUrl + '&te=ILS';

fetch(proxyurl + url).then(function(result){
    return result.text();
}).then(function(text){
    var parser = new DOMParser();
    var html = parser.parseFromString(text, 'text/html');
    var divs = html.getElementsByTagName('div');
    var x = html.getElementsByTagName('thead');
    console.log(divs);
    console.log(x);
});

div 的控制台中的输出是“HTMLCollection(80)”,所以我知道页面已经加载,但 x 的输出是“HTMLCollection(0)”,这意味着它没有找到任何thead元素。但是,当我查看页面的源代码时,我可以看到多个thead标签。每当我加载页面时,表格确实需要更长的时间来加载。如何获取 Fetch API 以获取整个页面?

标签: javascripthtmlfetch-api

解决方案


推荐阅读