Selenium Webdriver:IEdriver getwindowhandles()方法只返回1个句柄

时间:2015-07-04 00:25:04

标签: selenium selenium-webdriver

我最近开始学习硒。我正在尝试自动化门户网站。我在网页上有一个按钮,可以打开另一个网页。我无法切换到新打开的窗口,因为getwindowHandle()没有将句柄返回到新打开的窗口(getwindowHandle.size();)返回 1 ,即使新窗口打开。我有给予足够的时间来加载新页面

我搜索了这个问题,并且我发现在IE中未启用保护模式的可能根本原因之一。我们公司的安全设置由集团政策控制,因此我很难改变这种情况。 我想检查这个问题是否有解决方法。

这是代码

WebDriver Driver= null;   
System.setProperty("webdriver.ie.driver","M:\\Drivers\\IEDriverServer.exe"); 
Driver= new InternetExplorerDriver(); 
JavascriptExecutor jes= (JavascriptExecutor) Driver; 
Driver.get("URL"); 
Thread.sleep(10000); 
Driver.findElement(By.xpath("//*[@id='username']")).sendKeys("Username");    
Driver.findElement(By.xpath(".//*[@id='password']")).sendKeys("Password");   
Driver.findElement(By.xpath(".//*[@id='Login']")).click(); 
Thread.sleep(5000); 
java.util.Set<String> handles= Driver.getWindowHandles(); 
// Check number of handles before clicking on the link.No. of handles   
//returned=1 
System.out.println(handles.size());    
Driver.findElement(By.linkText("Cases")).click(); 
//Clicking on TestLink will open a new webpage 
WebElement element = Driver.findElement(By.linkText("TestLink"));    
element.click(); 
Thread.sleep(5000); 
//Check number of handles after clicking on link.clicking on the link.No. of    
//handles returned=1. 
// Number of windows open at this point are 2 
handles= Driver.getWindowHandles();
System.out.println(handles.size()); 

Driver.close();

  

以下是配置

     

操作系统:Windows 7 32位

     

Selenium:v2.46(正确的硒版本)

     

IEDriver-v2.46

     

Internet Explorer:IE9

0 个答案:

没有答案