当我尝试在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