繁体   English   中英

使用Window_handles点击位置弹出窗口中的按钮,使用夜视仪

[英]Use Window_handles to click button in location pop-up, with nightwatch

我在夜视仪上进行了一项功能测试,要求您分享您的位置以显示一些结果。 每次我与该按钮交互时,浏览器的geoiplocation默认弹出窗口都会出现,我需要与它进行交互(接受或关闭它)才能继续进行测试。

为了做到这一点,我尝试了在Nightwatch api文档中提到的acceptAlert ,但没有成功。 我在几个地方读过,在这种情况下你可以使用命令切换到新窗口,就像这里

browser.window_handles(function(result) {
    var handle = result.value[0];
    browser.switchWindow(handle);
});

我的问题是,当我无法查看该弹出窗口的源代码获取html时,如何点击该按钮? 或者还有其他方式可以解雇它吗?

您可以尝试这种语法。 它可能有效:

browser.window_handles(function(result) {
    var handle = result.value[0];
    this.switchWindow(handle);
    this.useXpath(); or this.useCss()
    this.click("locator path")
});

尝试这个

  browser
           .click('@buttonPopup')
           .acceptAlert();

如果您使用的是页面对象,它将是:

  pageObject.click('@buttonPopup',function(){
              browser.acceptAlert();           
      })

window_handles方法将处理'tab'而不是弹出窗口。

PS:记住这一点,phantomjs不会使用acceptAlert / dismissAlert弹出窗口。

所以,最后,我从github得到了这个答案,它说你做不到,但是你可以设置你的浏览器不再要求批准了。 不是很满意但是......你去,一个解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM