當我嘗試在C#中使用最新版本的webdriver切換窗口時,我被卡住了。Webdriver,CSharp,C# - 無法在窗口之間切換
我有一個基本窗口,當我點擊一個按鈕時,它會打開一個新窗口。
此按鈕的目標代碼如下。
window.open(uri, "DisplayPage", " width=1200, scrollbars=yes , resizable = yes , toolbar = no , menubar = no");
我使用下面提到的代碼爲目標的新窗口
string BaseWindow = _driver.CurrentWindowHandle;
ReadOnlyCollection<string> handles = _driver.WindowHandles;
foreach (string handle in handles)
{
if (handle != BaseWindow)
{
_driver.SwitchTo().Window(handle).Title.Equals("DisplayPage");
}
}
}
正如你可以看到從上面,我切換到使用目標的標題從基地窗口的窗口。這似乎並不奏效。
然後我注意到,在打開的窗口的標題是不同的,它是「顯示 - 交易網頁」
然後我修改了代碼,這
string BaseWindow = _driver.CurrentWindowHandle;
ReadOnlyCollection<string> handles = _driver.WindowHandles;
foreach (string handle in handles)
{
if (handle != BaseWindow)
{
_driver.SwitchTo().Window(handle).Title.Equals("Display - Transaction Page");
}
}
}
仍然沒有運氣。
有趣的是,我沒有收到任何錯誤,說「找不到窗口」。
問題是,當我嘗試點擊新打開的頁面上的元素時,我得到一個NoSuchElementException,這意味着新打開的窗口沒有被定位。
任何想法?
問候,
哈桑
Doh!誰會想到。新打開的窗口不是IE中「可信站點」的一部分。 我的代碼是正確的,在將目標URL添加到我的可信站點後,它現在工作正常。 – 2012-04-24 14:16:26