这是我打开新标签页的行
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
答案 0 :(得分:4)
在WebDriver中使用Actions类来执行此操作。以下是示例代码:
WebDriver driver = new ChromeDriver();
driver.navigate().to("<URL>");
WebElement element = driver.findElement(By.cssSelector("body"));
Actions actionOpenLinkInNewTab = new Actions(driver);
actionOpenLinkInNewTab.moveToElement(element).keyDown(Keys.CONTROL).click(element).keyUp(Keys.CONTROL).perform();
答案 1 :(得分:4)
((JavascriptExecutor)driver).executeScript("window.open();");
此JavaScript代码会为Chrome浏览器打开一个新标签。
答案 2 :(得分:1)
以下代码适用于selenium 3和chrome 58。
WebDriver driver = new ChromeDriver();
driver.get("http://yahoo.com");
((JavascriptExecutor)driver).executeScript("window.open()");
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("http://google.com");
答案 3 :(得分:0)
试试这段代码:
Actions newTab = new Actions(webDriver);
newTab.sendKeys(Keys.CONTROL + "t").perform();
希望它会有所帮助。
答案 4 :(得分:0)
您的代码适用于Firefoxdriver
但不适用于Chromedriver
。
一种解决方案是您可以在当前页面上打开任何link
到新选项卡。
以下是Python
代码。
actions = ActionChains(driver)
home_link = driver.find_element_by_class_name("logo")
actions.move_to_element(home_link)
actions.send_keys(Keys.CONTROL+ Keys.SHIFT)
actions.click(home_link)
actions.perform()