这是经过分析的页面https://www.diretta.it/。
在此页面中,接下来几天的内容将随js动态加载,而无需更改网站的网址(您可以在表格的右上角尝试它)。
使用操纵up,带有以下代码
await page.goto ('https://www.diretta.it/');
它加载今天页面的内容。 有没有办法用明天的内容加载页面? 我必须从接下来几天的比赛中抓取信息
终端更改日的js可执行文件中的功能是:
> set_calendar_date ('1')
答案 0 :(得分:2)
您正在寻找的是page.evaluate()
函数。
此函数使您可以在页面上下文中运行任何JS函数。
简单来说,运行page.evaluate()
类似于打开开发工具并直接在其中编写set_calendar_date('1')
。
这是一个有效的代码段,如果您想亲眼看到它,请毫不犹豫地将{headless: false}
传递给puppeteer.launch()
。
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.diretta.it/');
await page.evaluate(() => {
set_calendar_date ('1');
});
await page.waitFor(500); //Wait a bit for the website to refresh contents
//Updated table is now available
})();