测试过程中,会弹出一些子窗口,并且有可能在多个窗口之间切换
必须要获取每个窗口的唯一标识符切换到该窗口,才能对该窗口的元素进行操作
首先,获取每个窗口的唯一标识符,然后以及和的形式返回
var
mainWindow =
new
FirefoxDriver();
INavigation navigation
=
mainWindow.Navigate();
navigation.GoToUrl(
"
http://www.hao123.com
"
);
IWebElement btnMainWindow
= mainWindow.FindElement(By.XPath(
"
//*[@id='site']/div/ul/li[1]/a
"
));
btnMainWindow.Click();
System.Collections.Generic.IList
<
string
> handles = mainWindow.WindowHandles;
//
获取窗口的数量
IWebDriver childWindow = mainWindow.SwitchTo().Window(handles[
1
]);
//
定位到第一个子窗口
IWebElement textchildWindow = childWindow.FindElement(By.Id(
"
kw
"
));
textchildWindow.SendKeys(
"
selenium
"
);
IWebElement buttonElement
= childWindow.FindElement(By.Id(
"
su
"
));
buttonElement.Click();
mainWindow.SwitchTo().Window(handles[
0
]);
//
回到主窗口

