emre-gon / Selenium.WebDriver.UndetectedChromeDriver

GNU General Public License v3.0
62 stars 18 forks source link

How do I get the DevToolsSession? #12

Closed firecrauter closed 1 year ago

firecrauter commented 1 year ago

like OpenQA.Selenium.Chrome.ChromeDriver https://stackoverflow.com/a/70218124/17287495 selenium/dotnet/src/webdriver/DevTools/IDevTools.cs


or implement GetDevToolsSession() in Sl.Selenium.Extensions.ChromeDriver / sldriver when is SlDriverBrowserType.Chrome. Right now I can only do it by downloading all 3 projects and changing (Selenium.Extensions.SLDriver.cs _baseDriver) WebDriver _baseDriver; to ChromiumDriver _baseDriver; and adding

  public OpenQA.Selenium.DevTools.DevToolsSession GetDevToolsSession()
         {
             return _baseDriver.GetDevToolsSession();
         }

Something like this, or however you prefer:


    public class TestSlChromeDriver
    {
        public TestSlChromeDriver()
        {
            ChromeDriver.KillAllChromeProcesses();
            Driver = ChromeDriver.Instance();

        }
        public SlDriver Driver { get; private set; }

        public void Start()
        {
            Driver.GoTo("https://google.com");
            try
            {
                //ChromeDriver(SlDriver) no implement IDevTools
                if (Driver is ChromeDriver chromeDriver &&
                    chromeDriver is IDevTools devTools)
                {
                    IDevToolsSession session = devTools.GetDevToolsSession();
                    //....
                }
            }
            catch (Exception ex)
            {

            }
        }
    }