在iOS本机弹出窗口中单击“允许”

时间:2019-06-27 14:12:04

标签: javascript ios selenium nightwatch.js

我可能在这里丢失了一些东西,但是我试图单击“允许”以获取iOS11 +中的本机弹出窗口。如果有人对如何确定本机弹出窗口的xpath有任何想法,或者有任何其他想法,这将使我省去很多麻烦!

我尝试切换正确的上下文,NATIVE_APP,我相信,然后使用xpath定位器单击该选项,但一点都不运气。

我认为我走在正确的轨道上,但是xpath只是不正确。

我尝试过的

xpaths是:

@label="Allow"
//*[. = 'Allow']
//*[contains(text(), 'Allow')]

```browser.contexts(async function (context) {
    browser.setContext(context['value'][0]); //switch to native

browser
.useXpath()
.click('@label="Allow"');
}
);```

出现错误消息,

在<@ label =“ Allow”>上运行.click()命令时发生错误:使用给定的搜索参数无法在页面上找到元素。

更新 以下内容适用于iOS11和iOS12,但不适用于iOS11

browser.contexts(async function (context) {
  console.log("this is all the contexts: " + context.value);
  browser.setContext(context['value'][0]); //switch to native

  browser
     .useXpath()
     .click('//*[@name="Allow"]’);
}
);

iOS10     browser.execute('mobile:alert',{     通知    动作:“接受”,    buttonLabel:“允许”     });

1 个答案:

答案 0 :(得分:0)

  

我试图单击“允许”以在iOS11中显示本机弹出窗口

您要描述一个权限对话框,例如a location, contact, or photos permission dialog吗?

如果是这样,则无法与应用程序进行交互。用户必须明确点击“允许”按钮以授予权限。