我最近开始学习硒。我正在尝试自动化门户网站。我在网页上有一个按钮,可以打开另一个网页。我无法切换到新打开的窗口,因为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());
以下是配置
操作系统:Windows 7 32位
Selenium:v2.46(正确的硒版本)
IEDriver-v2.46
Internet Explorer:IE9