对于我们的门户网站,在 ios safari 的网页中自动输入付款详细信息时,我们收到以下错误,阻止了具有来源的框架访问跨来源框架。
我们的门户网站使用 adyen 支付供应商输入卡详细信息并进行付款。我们能够在 Android chrome 设备中自动输入付款详细信息,但仅对于 iphone safari,我们会收到此错误。我从互联网上搜索它,发现由于安全限制,我们的 safari 将阻止跨源框架。由于我们的门户网站域和此 iframe 域(https://ayden.test.com)不同,driver.switchto().frame() 因此异常而失败。有解决办法吗?
我们尝试使用本机上下文,但我们无法在 appium 检查器或页面源中检查这些卡片字段。不确定为什么我们无法在本机上下文中检查这些特定元素。网页中的所有其他字段都可以在本机上下文中访问。所以,目前我们还没有针对 ios safari 的任何解决方案
注意:这只发生在 ios safari 中。在android chrome中,我们可以使用普通的driver.switchTo().iframe()切换到这个iframe,因为chrome有CORS限制
我在这里做出有根据的猜测,请告诉我是否有帮助:
根据 Adyen 的 文档,您需要在其客户区将您的 客户端密钥 的域列入白名单。
Adyen 使用您的客户端密钥来验证来自您的支付环境的请求。例如,Web Drop-in 和 Web Component 集成需要客户端密钥来: