我正在尝试在浏览器中打开一个新标签页。 但是,它会在同一个标签中打开第二个网址。
代码:
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class ChromeFlock {
public static void main(String[] args) throws Exception { WebDriver driver; System.setProperty("webdriver.chrome.driver", "C:\\Automation\\chromedriver_win32\\chromedriver.exe"); driver = new ChromeDriver();
driver.manage().window().maximize();
String baseUrl = "http://www.google.co.uk/";
driver.get(baseUrl);
Thread.sleep(3000);
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");
driver.findElement(By.tagName("body")).sendKeys(selectLinkOpeninNewTab);
driver.get("http://www.facebook.com"); }
}
答案 0 :(得分:1)
使用JavascriptExecutor如下:
((JavascriptExecutor) driver).executeScript("window.open('http://www.facebook.com');");
答案 1 :(得分:1)
也许您没有切换到新标签页,导致仅在父标签页上启动第二个链接。
您可以通过模拟按下键盘的Ctrl + t键来使用Robot类打开新选项卡。然后,您需要使用driver.switchTo()命令切换到新选项卡。
有关代码段和详细信息,请查看此Open a new tab in Selenium
答案 2 :(得分:0)
您可以使用键盘模拟:
new Actions(driver).sendKeys(Keys.Control + 'w').build.perform(); // or + 't'
driver.get("http://www.facebook.com");
或使用JavaScriptExecutor:
((JavascriptExecutor) driver).ExecuteScript("window.open('http://www.facebook.com','_blank');");