java - 如何使用 selenium webdriver 打开新的 chrome 选项卡?

标签 java selenium-webdriver tabs automated-tests

经过研究,我发现 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/

相关文章:

java - 查找半径位置

java - 使用 cobertura 插件跳过*测试*

javascript - 我们应该用什么来代替 Selenium 中的 getInnerHtml() 和 getOutterHtml()?

shell - 用空格替换制表符以保持 n 空间对齐

java - 将 .csvs 插入 Java 中的 SQLite 数据库

java - Oauth2/密码流/检查特定实体的权限

html - 实现 CSS Radio Checked 以更改选项卡样式的正确方法是什么

css - jquery-ui 标签 CSS 问题

java - Selenium 2 hub 启动但在尝试访问控制台时抛出 404

java - 如何使用 java 集合收集表中的特定行 id - webdriver