经过研究,我发现 Control + t 不适用于 Chrome Webdriver。以下是我尝试过但没有成功的一些方法:
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");
driver.findElement(By.tagName("body")).sendKeys(selectLinkOpeninNewTab);
driver.get("www.facebook.com");
和
WebElement element = driver.findElement(By.linkText("Gmail"));
Actions actionOpenLinkInNewTab = new Actions(driver);
actionOpenLinkInNewTab.moveToElement(element)
.keyDown(Keys.COMMAND)
.keyDown(Keys.SHIFT)
.click(element)
.keyUp(Keys.COMMAND)
.keyUp(Keys.SHIFT)
.perform();
ArrayList tabs = new ArrayList (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("http://www.yahoo.com");
driver.close();
driver.switchTo().window(tabs.get(0));
driver.get("http://www.yahoo.com");
driver.close();
和
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1)); //switches to new tab
driver.get("https://www.facebook.com");
}
你们中有人能够解决这个问题吗?
最佳答案
C#
使用此代码打开新选项卡并在选项卡之间切换:
使用服务员。
第一个选项卡的选项卡索引从 0 开始。
var body = Waiter.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.TagName("body"))).FirstOrDefault();
body.SendKeys(Keys.Control + 't');
var tabs = GlobalDriver.WindowHandles;
GlobalDriver.SwitchTo().Window(tabs[1]);
GlobalDriver.Navigate().GoToUrl("Url");
代码采用C#
它在Java中有些相似,只是语法不同。
希望这对您有帮助!
关于java - 如何使用 selenium webdriver 打开新的 chrome 选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40898690/