阿塔塔。 C#。如何打开新标签页?

Atata. C#. How to open new tab?

如何在 Chrome 浏览器中打开新标签页?

    [PressKeys("control" + "t", TriggerEvents.AfterClick)]

.Press("^t");

显然 CTRL+T 组合不再适用于 chromedriver。但是我们可以使用 window.open() JavaScript 也可以打开新标签页。

AtataContext.Current.Driver.ExecuteScript("window.open()");

// You also need to switch to newly opened tab.
Go.ToNextWindow<OrdinaryPage>(); // Set the type of your page object instead of OrdinaryPage.
Go.ToUrl("/someurl"); // Set URL.

您也可以将此代码块提取到方法中:

public static TPage CreateAndSwitchToNewTab<TPage>(string url)
    where TPage : Page<TPage>
{
    AtataContext.Current.Driver.ExecuteScript("window.open()");

    var page = Go.ToNextWindow<TPage>();
    Go.ToUrl(url);

    return page;
}

并以以下形式在测试中使用它:

CreateAndSwitchToNewTab<ProductsPage>("/products")
    .PageTitle.Should.Contain("Products");