如何在Playwright中启用Service Worker?解决Telegram弹窗问题
解决Telegram在Playwright中提示“Service Worker已禁用”的问题
Telegram网页版检测到Service Worker被禁用才会弹出这个提示,你只需要在Playwright的配置里明确开启Service Worker支持就行,给你两种可行的修改方案:
方案一:在创建浏览器上下文时开启Service Worker
直接在new_context方法里添加service_workers='allow'参数,明确允许Service Worker运行:
browser = await playwright.chromium.launch(headless=False) context = await browser.new_context( storage_state='state.json', service_workers='allow' ) page = await context.new_page() await page.goto(chat_url1)
方案二:通过Chromium命令行参数强制启用
如果方案一没生效,可以在启动浏览器时添加Chromium的命令行参数,强制开启Service Worker相关功能:
browser = await playwright.chromium.launch( headless=False, args=['--enable-service-workers', '--allow-service-workers'] ) context = await browser.new_context(storage_state='state.json') page = await context.new_page() await page.goto(chat_url1)
如果试了上面两种方法还是弹窗,建议删除本地的state.json文件,重新登录Telegram生成新的存储状态——有可能旧的状态文件里保存了禁用Service Worker的配置,导致每次启动都会继承这个设置。
内容的提问来源于stack exchange,提问作者dopuu
相关产品推荐
相关产品推荐

