防止浏览器窗口进入前台

时间:2019-09-25 09:26:24

标签: c# selenium-chromedriver

我使用扩展方法在新的浏览器选项卡中调用交互:

    public static void DoInNewTab(this ChromeDriver driver, Action<ChromeDriver> action)
    {
        var currentHandle = driver.CurrentWindowHandle;
        // DOES NOT WORK:
        //driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");
        driver.ExecuteScript("window.open()"); // HERE
        Thread.Sleep(2000);
        driver.SwitchTo().Window(driver.WindowHandles.Last());
        action.Invoke(driver);
        driver.Close(); // HERE
        driver.SwitchTo().Window(currentHandle);
    }

就像超级按钮一样工作,不同之处在于浏览器窗口一直处于激活状态,并进入前台并获得焦点。调试有点笨拙,因为断点显然会激活IDE窗口,但据我所知,浏览器窗口在标记为HERE的行上被激活。

如何防止窗口被激活并确保其留在后台?

0 个答案:

没有答案
相关问题