I created a Selenium Console Bot which now I want to be started with WPF. So I created a simple window and added a button, which is supposed to start my bot, which I've rewritten into WPF. It starts and it works, but it crashes the xaml window and opens a Console (which shouldn't happen or should?). Then it leaves the console empty and writes down what it should in Visual Studio console. It happens when I start method CheckItems(_driver). Any possible solutions? I don't mind starting a console to run in the background, but why does it crash the main window so I can not move it or do anything with it?
private IWebDriver Setup(IWebDriver driver)
    {
        var option = new ChromeOptions();
        option.AddArgument("--headless");
        option.AddArgument("--silent");
        option.AddArgument("--disable-gpu");
        option.AddArgument("--log-level=3");
        var service = ChromeDriverService.CreateDefaultService();
        service.SuppressInitialDiagnosticInformation = true;
        _driver = new ChromeDriver(service, option);
        //driver.Navigate().GoToUrl("");
        _driver.Navigate().GoToUrl("urlofmychoice");
        _driver.Manage().Window.Maximize();
        _driver.Manage().Timeouts().ImplicitWait =
            TimeSpan.FromSeconds(7); // breaks in between actions taken by webDriver
        _driver.FindElement(By.XPath("/html/body/div[2]/div/a")).Click(); // click got it (need to add fake cookie)
        _driver.FindElement(By.Id("header-email"))
            .SendKeys("myemail"); // enters my login (need to make it adjustable)
        _driver.FindElement(By.Id("header-password"))
            .SendKeys("mypassword" + Keys.Enter); // enters my password (need to make it adjustable)
        var username = _driver.FindElement(By.XPath("/html/body/header/section[1]/div/div[2]/div/a/span"))
            .Text; // Get username from the site and saves to username
        tradeUrl = "ulrIneed" + username; // initialize tradeUrl
        //_driver.Navigate().GoToUrl(tradeUrl); // goes to tradeUrl
        return _driver;
    }
 private void CheckItems(IWebDriver driver)
    {
        while (true)
        {
            _driver.Navigate().GoToUrl(tradeUrl);
            var trades = _driver.FindElements(By.ClassName("rlg-trade-display-header")); // add all trades to list
            for (var i = 0; i < trades.Count; i++) // loop to check all trades
            {
                if (i == 0)
                    Console.WriteLine("\n    Active Trades: " + trades.Count);
                var text = _driver
                    .FindElement(By.XPath(
                        "/html/body/main/div/div/div/div[4]/div[" + (i + 1) + "]/div[1]/div/div/span"))
                    .Text.Split(); // reads text from trade and adjust it for the program
                var test = "Trade " + (i + 1) + " was last updated " + text[1] + " " + text[2] + " ago.";
                Console.WriteLine(test);
                var x = int.Parse(text[1]); // convert string to int to check time later
                if (text[2] == "seconds")
                    continue;
                if (text[2] == "hours" || text[2] == "hour" || text[2] == "days" || text[2] == "day" ||
                    text[2] == "month" || text[2] == "months" || x > 15)
                {
                    var element1 =
                        _driver.FindElement(By.XPath("/html/body/main/div/div/div/div[4]/div[" + (i + 1) +
                                                     "]/div[1]/a/div"));
                    var actions1 = new Actions(_driver);
                    actions1.MoveToElement(element1).Click()
                        .Perform(); // scrolls down to choosen element and clicks it
                    _driver.FindElement(By.XPath("/html/body/main/div/div/div/div[2]/a[1]"))
                        .Click(); // click choosen element
                    var element = _driver.FindElement(By.Name("btnSubmit"));
                    var actions = new Actions(_driver);
                    actions.MoveToElement(element).Click()
                        .Perform(); // scrolls down to choosen element and clicks it
                    driver.Navigate().GoToUrl(tradeUrl);
                    Thread.Sleep(2000);
                }
            }
            Thread.Sleep(15000); // wait 15 second before next loop
        }
    }
   private void BtnStart_OnClick(object sender, RoutedEventArgs e)
    {
        Setup(_driver);
        CheckItems(_driver);
    }
}
