Могу ли я автоматизировать оплату через Apple Pay с помощью мобильного пользовательского агента Safari - PullRequest
1 голос
/ 14 июля 2020

У меня есть приложение для электронной коммерции, в котором для платежей используются 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"); Но это не помогает. Я не вижу кнопку оплаты Apple Pay.

Действительно ли можно совершать платежи через Apple Pay с помощью Puppeteer? Потому что я не могу найти по этому поводу ни одного вопроса.

1 Ответ

1 голос
/ 14 июля 2020

Полагаю, в настоящий момент это невозможно. Самое близкое, что вы можете смоделировать реальное устройство iOS, - это не кукловод, а microsoft / playwright , который является преемником кукловода (созданный той же командой, что и кукловод, тогда в Google), и это поддерживает механизм браузера WebKit.

Если я захожу на https://applepaydemo.apple.com/ с эмулированным устройством iPhone 11, он дает:

Ваш браузер или устройство не поддерживает 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...