playwright nodejs 页面加载完成有多种判断方式

 

 

在 playwright 中,页面加载完成有多种判断方式,下面给出几种实现方式:

1. 监听 `load` 事件,等待全部资源加载完成。

```javascript
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();

  await Promise.all([
    page.goto('http://example.com'),
    page.waitForLoadState('load')
  ]);

  console.log('Page loaded!');
  await browser.close();
})();
```

2. 监听 `domcontentloaded` 事件,等待 DOM 渲染完成。

```javascript
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();

  await Promise.all([
    page.goto('http://example.com'),
    page.waitForLoadState('domcontentloaded')
  ]);

  console.log('DOM rendered!');
  await browser.close();
})();
```

3. 使用 `waitForSelector` 等待指定元素出现。

```javascript
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();

  await page.goto('http://example.com');

  await page.waitForSelector('body'); // 等待 body 出现

  console.log('Selector found!');
  await browser.close();
})();
```

需要注意的是,在使用 `waitForSelector` 等方式等待页面加载时,需要确保该元素在页面上是唯一的,否则可能会导致等待时间过长或出现错误。

 

posted @ 2023-03-14 12:54  AngDH  阅读(2104)  评论(0编辑  收藏  举报