puppeteer 如何判断页面是否已经完全加载
时间: 2023-02-08 20:53:21 浏览: 191
可以在页面的 `window` 对象上监听 `load` 事件来判断页面是否完全加载。当页面中所有的资源都已经加载完成时,这个事件就会被触发。
下面是一个例子:
```javascript
await page.goto('https://example.com');
await page.evaluate(() => {
return new Promise((resolve) => {
window.addEventListener('load', resolve);
});
});
console.log('page loaded');
```
还可以使用 page.waitForNavigation()
```javascript
await page.goto('https://example.com', {waitUntil: 'networkidle0'});
console.log('page loaded');
```
两种方法都可以判断页面是否完全加载,可以根据个人的需求选择使用哪种。
相关问题
puppeteer 等待页面加载完成
在 Puppeteer 中,可以使用 `page.waitForNavigation()` 方法等待页面加载完成。此方法会等待页面加载完成,包括所有资源(如图片、脚本、样式表等)都加载完成,并且没有正在进行的网络活动。
示例代码:
```javascript
await page.goto('https://example.com');
await page.waitForNavigation();
console.log('页面加载完成!');
```
还可以使用 `page.waitForSelector()` 方法等待特定元素出现在页面中,这也可以表示页面加载完成。
示例代码:
```javascript
await page.goto('https://example.com');
await page.waitForSelector('#myElement');
console.log('页面加载完成!');
```
当然,还有其他方法可以等待页面加载完成,具体使用哪种方法取决于具体的场景和需求。
Puppeteer 等待页面加载完成
在 Puppeteer 中,可以使用 `page.waitForNavigation` 方法等待页面加载完成。例如,可以使用以下代码等待页面加载完成并输出页面标题:
```
await page.goto('https://example.com');
await page.waitForNavigation({ waitUntil: 'networkidle0' });
console.log(await page.title());
```
其中 `waitUntil` 参数可以设置为 `'load'` 或 `'networkidle0'`,表示等待页面加载完成或网络空闲时再继续执行后续代码。在大多数情况下,使用 `'networkidle0'` 更加稳定可靠。