能否通过chrome://settings/payments配置信用卡?Playwright访问报错求助
问题解答
为什么访问chrome://settings/payments失败?
Chrome以chrome://开头的内部页面(如设置页)运行在浏览器专属的特殊进程中,和普通网页的渲染进程完全隔离。Playwright的常规页面上下文无法加载这类内部页面,因此会触发Target page, context or browser has been closed错误——本质是浏览器拒绝了常规网页上下文对内部设置页的访问请求。
可靠测试Stripe PayButton支付流程的替代方案
不需要手动访问设置页配置信用卡,推荐以下两种更稳定的方式:
1. 预配置Chrome用户数据目录
提前在本地Chrome中配置好测试用的信用卡信息,然后让Playwright加载这个用户数据目录,浏览器会自动读取已保存的支付信息:
import { test, chromium } from '@playwright/test' test('[INT] Stripe Pay Button', async () => { const browser = await chromium.launch({ args: ['--no-sandbox'], userDataDir: './preconfigured-chrome-data', // 替换为你提前配置好的Chrome用户目录路径 }) const context = await browser.newContext() const page = await context.newPage() // 直接访问你的测试页面,触发PayButton后,浏览器会自动调用已保存的支付信息 await page.goto('your-test-page-url') })
2. 使用Stripe测试环境模拟支付
Stripe提供了完善的测试工具,无需配置浏览器支付信息,直接在测试中模拟Google Pay/Apple Pay的支付流程:
- 针对Google Pay:使用Stripe官方测试卡号(如
4242 4242 4242 4242),在Playwright中触发PayButton后,选择Google Pay选项,填入测试卡信息完成支付。 - 针对Apple Pay:在Stripe测试模式下,可直接模拟Apple Pay授权,无需依赖真实设备或浏览器配置。
关键提示
不要尝试用Playwright访问Chrome的内部chrome://页面,这类页面不受标准网页API支持,也不属于Playwright的测试范围。
内容的提问来源于stack exchange,提问作者Damaon
相关产品推荐
相关产品推荐

