我有一个文本框,点击此文本框后会打开一个弹出窗口。此弹出窗口包含复选框。 我想点击上面的文本框并将焦点移动到弹出窗口,选择弹出窗口中的复选框并将焦点移回主窗口。 弹出窗口的源代码图像附在图像选项卡中。
Firefox v33.1 Selenium v2.25
我尝试使用以下代码,但它没有用:
driver.findElement(By.id("FieldView_ctl17_MultiSelect1_InputText")).click();
driver.switchTo().activeElement();
driver.findElements(By.id("checkbox0")).click();
答案 0 :(得分:0)
您需要在找到复选框之前打开打开的弹出窗口,如下所示: -
//First store parent window to switch back
String parentWindow = driver.getWindowHandle();
//Perform the click operation that opens new window
driver.findElement(By.id("FieldView_ctl17_MultiSelect1_InputText")).click();
//Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
if(!winHandle.equals(parentWindow)) {
driver.switchTo().window(winHandle);
}
}
//Now find checkbox and click
driver.findElements(By.id("checkbox0")).click();
//Now close opened popup window
driver.close();
//Switch back to parent window
driver.switchTo().window(parentWindow);
//Continue with parent window