You need to enable JavaScript to run this app. pyppeteer中是否存在与page.waitForTimeout()功能等效的实现方法?
优惠活动
大模型
产品
解决方案
定价
更多

pyppeteer中是否存在与page.waitForTimeout()功能等效的实现方法?

解决方法

pyppeteer本身就内置了非阻塞的等待方法,完全可以替代阻塞的time.sleep(),不需要多线程支持。

你可以直接调用页面对象的waitFor()方法,传入需要等待的毫秒数即可,功能和puppeteer的page.waitForTimeout()完全一致,属于异步非阻塞等待,只会暂停当前页面的后续操作逻辑,不会影响其他页面的正常运行。

示例代码

import asyncio
from pyppeteer import launch

async def main():
    browser = await launch()
    # 同时打开两个测试页面
    page1 = await browser.newPage()
    page2 = await browser.newPage()
    
    async def handle_page1():
        await page1.goto('https://example.com')
        # 仅暂停page1的后续操作2秒,不影响page2运行
        await page1.waitFor(2000)
        print('page1 2秒等待完成,执行后续操作')
    
    async def handle_page2():
        await page2.goto('https://example.org')
        print('page2 正常执行,不受page1等待影响')
    
    await asyncio.gather(handle_page1(), handle_page2())
    await browser.close()

asyncio.run(main())

补充说明

  • waitFor()的入参单位是毫秒,2秒对应传入2000即可
  • 如果你使用的是较新版本的pyppeteer,也可以直接调用page.waitForTimeout(),该方法已经做了API兼容,和puppeteer的同名方法功能完全一致

内容的提问来源于stack exchange,提问作者varjoll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 05:24:03