无法使用selenium webdriver从弹出框架切换回父窗口

时间:2013-01-17 09:40:46

标签: java javascript selenium webdriver selenium-webdriver

我有登录页面,点击登录后会打开新标签页。我使用

将控件移动到新选项卡
driver.switchTo().window("");
// Done some stuffs in new window.

当我点击一个按钮时,它将打开弹出窗口(框架)。

我使用driver.switchTo().frame("frameName");

选择了一个弹出窗口

并从那里通过选择记录,弹出窗口将被关闭。选定的记录将显示在父窗口中,页面将刷新。

现在我想将控件返回(重新聚焦)到我的父窗口以执行其他一些操作。

但我无法再次关注父窗口。

我试过了:

driver.switchTo().defaultcontent();
driver.switchTo().window("");

driver.getWindowHandles();

结果仍然相同......

有人可以帮我这个....

2 个答案:

答案 0 :(得分:2)

String oldWindow = driver.getWindowHandle();
driver.findElement(By.xpath("//a[@id='searchSalesImg']/img")).click(); 
//by clicking on this we will get a new window

Thread.sleep(5000);
driver.switchTo().window(driver.getWindowHandle());

driver.switchTo().window("Employer Services Order Management (ESOM)"); 
//Navigate to new window
driver.findElement(By.id(" Primary Sales Person:")).sendKeys("MAS%"); 
//Do some stuff in new window

driver.switchTo().window(oldWindow); 
//navigate back to old window

答案 1 :(得分:1)

尝试使用此代码: -

driver.switchTo()帧(" Frame_identifier&#34);

//你的代码

String winHandleBefore = driver.getWindowHandle();   。webDriver.SwitchTo()窗口(winHandleBefore);