我想做的是将我的工作日程与我的Google日历同步。不幸的是,现在没有可用的API,因此这不是一种选择。我能够成功登录到我的帐户并重定向到包含内容的页面。唯一的问题是该网站依赖于加载日期等的客户端javascript。
有什么方法可以让Axios等待几秒钟,以便可以加载日期,然后返回我一直在互联网上寻找但无法找到我的问题的任何答案的正文内容,所以我希望有人可以帮助我
这是我现在正在使用的代码。
axios.post('link here', {
Username: 0,
Password: 0
}).then((res) => {
axios.get('link here', {headers: {
"Cookie":res.headers['set-cookie']}}, {}).then((res) => {
console.log(res.data)
});
});
因此,我正在寻找一种方法来使其加载页面,然后返回res.data预先感谢!
这对于axios是不可能的。浏览器的作用是获取html(例如您的get
调用)并通过执行链接到html的javascript呈现任何动态内容。
Axios将仅返回原始html,由于它不是浏览器,因此您将一无所获。
如果您完全确定没有任何api集成,例如https://developers.google.com/calendar,则可以改用https://github.com/puppeteer/puppeteer。
Puppeteer,与axios不同,将呈现页面并为您运行任何链接的javascript。您可以通过javascript控制的无头chrome浏览器。这是完成这项工作的正确工具。
或者,您可以获取正在执行的javascript函数的调用(可能是另一个链接的get调用),而不是获取原始HTML。