簡體   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