【问题标题】:Can I automate apple pay using the safari mobile user agent我可以使用 Safari 移动用户代理自动执行 Apple Pay
【发布时间】:2020-07-14 08:56:06
【问题描述】:

我有一个使用 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 支付吗?因为我找不到任何关于它的问题。

【问题讨论】:

    标签: javascript ios puppeteer applepay


    【解决方案1】:

    我认为目前是不可能的。最接近模拟真实 iOS 设备的方法不是使用 puppeteer,而是使用 microsoft/playwright,它是 puppeteer 的继任者(由当时在 Google 的 puppeteer 同一团队制作),它支持 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 设备上运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-07
      • 2015-12-23
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多