2013-03-05 28 views
4

我正在使用watir-webdriver,當點擊一個帶有target =「_ blank」的鏈接時,它會打開一個新窗口,但我仍然無法控制,但仍然需要驗證是否打開了404頁面以外的內容,以及該新窗口的標題是否包含某些關鍵字。我不知道該窗口的標題是什麼(它始終不一樣),所以this solution不起作用。watir webdriver:如何切換到另一個打開目標的窗口

是否有任何已知的方式如何通過watir-webdriver處理這些target =「_ blank」窗口?

回答

13

既然你知道,新窗口的標題要有一定的形式,你應該能夠通過使用正則表達式的標題(正則表達式用「/」表示)來定位:從規範的例子。

browser.window(:title => /known part of title/).use do 
    #Whatever you want to do with the popup 
end 

或者,如果你真的不知道在彈出的東西,你可以創建的最後一個窗口:

browser.windows.last.use do 
    #Whatever you want to do with the popup 
end 
+0

謝謝。 browser.windows.last確實有效! – earlyadopter 2013-03-05 22:18:02

+0

@paul,對不起,評論是很難閱讀沒有格式。你應該用你的具體例子更新你新創建的問題(包括你得到的錯誤)。 Watir代碼是正確的。問題可能是你也在與頁面對象gem混合。 – 2015-11-26 14:36:55

6

鏈接到http://watirwebdriver.com/browser-popups/上的watir-webdriver window switching spec。您應該能夠通過:title:url:index找到窗口。

browser.window(:index => 1).use 
browser.window(:url => /closeable\.html/).use 
browser.window(:title => "closeable window").use 
+0

第一線錯誤 - 語法錯誤,意想不到的「:」,預計「)」 browser.window(index:=> 1).use – stack1 2015-07-08 22:42:03

+0

'index:=> 1'無效。試試':index => 1'(或'index:1')。 – orde 2015-07-10 16:44:41

相關問題