我對C#編程還很陌生,並且能夠讓WebDriver正常工作以完成我需要在我們的網站上完成的大部分工作,除了當新窗口啓動時。看起來在Java中有很多選項可以處理這個問題,但是我似乎無法像C#那樣收集窗口句柄,然後切換到新生成的窗口。我面對的部分問題是,由於需要幾秒鐘才能填充新窗口,所以我試圖等待以捕獲新窗口。當我最初這樣做時,我嘗試使用如何讓C#WebDriver Windows在IE和新窗口中使用SwitchTo
wait.Until(WebDriver => driver.Title.Equals("_blank"));
driver.SwitchTo().Window("_blank")
確保窗口在嘗試切換到它之前產生。
然後閱讀更多關於這個我發現我不得不捕捉windowHandles之前進行切換,因爲我仍然需要等待窗口產卵和填充我想我需要一些時間來檢查新的句柄並切換到它,那時我不知道該怎麼做。
我使用的是Selenium2的.Net WebDriver和SpecFlow,因此所有的測試都在C#中,我覺得在做C#時比Java更舒服,儘管我沒有用C#做過多的高級工作。如果有人有一些提示讓我開始如何解決這個問題,我會很感激。
這很好!非常感謝你。 – MichaelF