Java 如何打开新选项卡 Robot rb=新机器人(); rb.keyPress(KeyEvent.VK_控件); rb.keyPress(KeyEvent.VK_T); rb.keyRelease(KeyEvent.VK_控件); rb.keyrease(KeyEvent.VK_T); ArrayList tabs=新的ArrayList(driver.getWindowHandles()); driver.switchTo().window(tabs.get(1));

Java 如何打开新选项卡 Robot rb=新机器人(); rb.keyPress(KeyEvent.VK_控件); rb.keyPress(KeyEvent.VK_T); rb.keyRelease(KeyEvent.VK_控件); rb.keyrease(KeyEvent.VK_T); ArrayList tabs=新的ArrayList(driver.getWindowHandles()); driver.switchTo().window(tabs.get(1));,java,selenium,awtrobot,Java,Selenium,Awtrobot,您可以参考 Robot rb =new Robot(); rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_T); rb.keyRelease(KeyEvent.VK_CONTROL); rb.keyRelease(KeyEvent.VK_T); ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());

您可以参考

Robot rb =new Robot();

rb.keyPress(KeyEvent.VK_CONTROL);

rb.keyPress(KeyEvent.VK_T);

rb.keyRelease(KeyEvent.VK_CONTROL);

rb.keyRelease(KeyEvent.VK_T);

ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());

driver.switchTo().window(tabs.get(1)); 
((JavascriptExecutor)驱动程序).executeScript(“window.open()”);
ArrayList tabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));

只需在创建新选项卡后添加暂停,如下所示:

((JavascriptExecutor) driver).executeScript("window.open()");
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
这将至少等待10秒钟,直到选项卡数为2

注意:您必须添加一些导入:

Robot rb =new Robot();
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_T);
rb.keyRelease(KeyEvent.VK_CONTROL);
rb.keyRelease(KeyEvent.VK_T);
new WebDriverWait(driver, 10).until(ExpectedConditions.numberOfWindowsToBe(2));
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("https://stackoverflow.com");

尝试此操作,您可以使用
JavascriptExecutor
键打开新选项卡。chord

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
或使用

String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN); 
driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);

您的试用代码有什么问题?请正确提及问题XPath被定义为XML路径。它是一种语法或语言,用于使用XML路径表达式查找网页上的任何元素。XPath定义为XML路径。它是一种语法或语言,用于使用XML路径表达式查找网页上的任何元素。XPath定义为XML路径。它是一种语法或语言,用于使用XML路径表达式查找网页上的任何元素。
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN); 
driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);
((JavascriptExecutor)driver).executeScript("window.open();");