2010-11-19 33 views
1

我正在使用WatiN自動處理Sharepoint應用程序。有幾個屏幕點擊按鈕或鏈接附加信息將顯示在燈箱彈出使用WatiN處理使用不同瀏覽器的彈出窗口

瀏覽器URL和彈出Url是不同的,因此我無法獲得任何對象的任何引用。

請幫我解決這個問題,我所有的腳本都需要處理這些燈箱。

回答

2

如果按照我的理解,您的彈出窗口是在新的瀏覽器窗口中顯示的頁面,您將需要創建一個新的WatiN瀏覽器實例來訪問此「彈出窗口」。

WatiN提供多個匹配條件來使用方法AttachTo()附加瀏覽器。

  • 通過URL:它必須與搜索符來結合Find.ByURL()
  • 通過URI:Find.ByURI()
  • 由Windows標題:Find.ByTitle()
  • 通過窗口句柄:Find.By()

下面是一個華廷IE瀏覽器彈出式窗口連接到現有的頁面,在這種情況下,利用自己的窗口標題爲例:

IE myPopup = IE.AttachTo<IE>(Find.ByTitle("My Popup title")); 

標題搜索只能使用部分名稱。按照同樣的例子與前一個,下面還應該與彈出:

IE myPopup = IE.AttachTo<IE>(Find.ByTitle("My Popup")); 

對於查找URL或URI,他們可能工作以同樣的方式與部分匹配(我猜測)。所以如果你知道彈出窗口打開的URL是什麼,這可能是一個更好的解決方案。特別是如果該URL比您的彈出式標題更獨特,那麼您將減少附加到錯誤瀏覽器的機會。

+0

嗨,不完全是。彈出窗口不打開新的瀏覽器。只有彈出窗口出現在新的URL中,但存在於現有的瀏覽器中。不幸的是,我無法在這裏上傳屏幕截圖。希望我的問題很明確 – Kumar 2010-11-20 06:53:47

+0

你能詳細說明你的彈出窗口是什麼嗎?一個iFrame,一個顯示的新元素,一個新標籤,..? – Vaudry 2010-11-23 14:31:42

+0

我們使用了Share Point 2010打開對話框來顯示彈出窗口。我們可以在測試期間打開Watin中的彈出窗口。但無法訪問彈出窗口中的控件。有關如何訪問通過Watin彈出的控件的任何想法? – Kumar 2010-12-14 05:37:59

相關問題