我尝试了不同的选项只是为了打开新标签,但所有这些选项都会导致相同的结果:将char“t”发送到Google搜索字段。 我真正测试的目标是在浏览器中切换标签,但我甚至无法打开新标签。
非常简单的测试
public class LoginPhp2 {
@Test
public void testGoogle() {
WebDriver driver = new SafariDriver();
driver.get("https://www.google.com");
//driver.findElement(By.cssSelector("body")).sendKeys(Keys.COMMAND + "t");
Actions action= new Actions(driver);
action.keyDown(Keys.COMMAND).sendKeys("t").build().perform();
//action.keyDown(Keys.COMMAND).sendKeys("t").keyUp(Keys.COMMAND).build().perform();
}
}
答案 0 :(得分:1)
您可以使用javascript打开新标签页。
JavascriptExecutor js =(JavascriptExecutor)驱动程序;
js.executeScript( “window.open();”);
答案 1 :(得分:0)
在Windows和Mac中打开新标签的方法有很多种。要发送的实际密钥取决于您的操作系统,例如,Mac使用COMMAND + t,而不是CONTROL + t。
您可以使用以下方法在Mac中打开新标签页
driver.findElement(By.cssSelector("body")).sendKeys(Keys.COMMAND +"t");
在此之后,您可以切换到任何已打开的标签:
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(0));
答案 2 :(得分:0)
我遵循了之前建议的方法:
JavascriptExecutor js =(JavascriptExecutor)驱动程序;
js.executeScript(&#34; window.open();&#34); 强>
这是在同一窗口中打开新标签页。我在我的MAC机器上试过它