pyppeteer wait iframe中的元素
时间: 2023-09-13 09:10:44 浏览: 52
如果要在 pyppeteer 中等待 iframe 中的元素出现,需要使用 `page.waitForSelector(selector, options)` 方法。不同的是,你需要先切换到 iframe,然后等待元素出现。
具体步骤如下:
1. 通过 `page.frames` 获取所有的 iframe。
```python
frames = await page.frames()
```
2. 通过 `frame.name()` 或 `frame.url()` 等方法找到目标 iframe。
```python
for frame in frames:
if frame.name() == 'my-iframe':
target_frame = frame
break
```
3. 使用 `target_frame.waitForSelector(selector, options)` 等待目标元素出现。
```python
await target_frame.waitForSelector('.my-element')
```
注意,使用 `waitForSelector` 等待 iframe 中的元素时,需要将 `options` 中的 `timeout` 设置为足够长的时间,以确保元素有足够的时间加载。同时,`waitForSelector` 方法只会等待 iframe 中的元素出现,不会等待 iframe 自身的加载完成。如果需要等待 iframe 加载完成,可以使用 `target_frame.waitForNavigation()` 方法。