Cómo abrir un enlace en una nueva ventana a través de Selenium
String href = link.getAttribute("href");
JavascriptExecutor ejecutor = (JavascriptExecutor) controlador ;
executor.executeScript("window.open('" + href + "')" );
El método específico es obtener un objeto WebElement conectado y luego usar getAttribute( "href") para obtener la dirección del enlace.
Luego llame al script javascript, ejecute el método window.open() y abra el enlace en una nueva ventana.
Luego debes saltar a la nueva página cambiando el controlador.
for (String toHandle : driver.getWindowHandles()) {
if (toHandle.equals(curHandle)) {
continuar;
}
driver.switchTo().window(toHandle); //cambiar a otro nuevo identificador
SubjectPage subPage = PageCreator.createPage(SubjectPage.class);//create la página, la encapsulé yo mismo, puede ser Ignorar
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
// TODO
subPage.closeMe(); // empaquetado propio, ignorar...
driver.switchTo().window(curHandle);
}