我有一个使用 google play 和 apple pay 付款的电子商务应用程序。我使用 Puppeteer 开发自动化套件。使用 google play,我没有遇到任何问题,但是对于 apple pay,您需要使用 Safari。我使用用户代理来说明用户来自 iOS Safari 的应用程序:await page.setUserAgent("Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/83.0.4103.88 Mobile/15E148 Safari/604.1");
但这无济于事。我没有看到苹果支付按钮。
真的可以使用Puppeteer进行Apple Pay支付吗?因为我找不到任何关于它的问题。
我想目前是不可能的。最接近模拟真实 iOS 设备的不是 puppeteer,而是microsoft/playwright,它是 puppeteer 的继任者(由与 puppeteer 当时在 Google 的同一团队制作)并且它支持WebKit 浏览器引擎。
如果我使用模拟的 iPhone 11 设备访问https://applepaydemo.apple.com/,它会给出:
您的浏览器或设备不支持网络上的 Apple Pay。要试用此演示,请在兼容设备上的 Safari 中打开此页面。
您可以在没有本地 npm 安装的情况下在此处进行测试:https ://try.playwright.tech/
const playwright = require('playwright')
async function fn() {
const { webkit, devices } = playwright
const iPhone11 = devices['iPhone 11 Pro']
const browser = await webkit.launch()
const context = await browser.newContext({
viewport: iPhone11.viewport,
userAgent: iPhone11.userAgent,
ignoreHTTPSErrors: true
})
const page = await context.newPage()
await page.goto('https://applepaydemo.apple.com/')
await page.screenshot({ path: 'example-iphone.png' })
await browser.close()
}
fn()
我目前不知道有任何解决方法可以使 Apple Pay 与非 iOS 设备一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句