[英]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.