Selen automatisieren Sie nur auf den WebElements des Browsers. Das Öffnen einer neuen Registerkarte ist eine Operation, die auf dem webBrowser ausgeführt wird, der eine eigenständige Anwendung ist. Dafür können wir die Robot-Klasse aus dem Paket java.util. * Verwenden, das Operationen mit Tastatur und Maus ausführen kann, unabhängig davon, um welchen Anwendungstyp es sich handelt. Also hier ist der Code für Ihre Operation. Beachten Sie, dass Sie nicht Stand-alone-Anwendungen mit Hilfe des Roboter Klasse automatisieren können, aber Sie können Tastatur oder Maus Operationen
System.setProperty("webdriver.chrome.driver","softwares\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("http://www.google.com");
Robot rob = new Robot();
rob.keyPress(keyEvent.VK_CONTROL);
rob.keyPress(keyEvent.VK_T);
rob.keyRelease(keyEvent.VK_CONTROL);
rob.keyRelease(keyEvent.VK_T);
Nach diesem Schritt müssen Sie ein Fenster Iterator wechseln auf die neuen Registerkarte ausführen:
Set <String> ids = driver.getWindowHandles();
Iterator <String> it = ids.iterator();
String currentWindow = it.next();
String newWindow = it.next();
driver.switchTo().window(newWindow);
driver.findElement(By.linkText("www.facebook.com")).sendKeys(selectLinkOpeninNewTab);
Es funktioniert gut, aber ein weiteres Browserfenster öffnet sich – nlogn
Es funktioniert für mich in einem neuen Tab. Können Sie bestätigen, ob dies ('driver.findElement (By.cssSelector (" body ")). SendKeys (Keys.CONTROL +" t "); ') Befehl öffnet ein neues Fenster oder eine neue Registerkarte für Sie? –
funktioniert jetzt gut! – nlogn