0

I need to sign out using DevTools in Chrome. The only way to do it is to clear Local and session storage: enter image description here

How can I do it using Selenium Webdriver 4 C#?

My current attempts do not complete this:

                var devTools = (IDevTools)Context.Driver;
                IDevToolsSession session = devTools.GetDevToolsSession();
                var domains = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
                domains.Network.ClearBrowserCookies(new OpenQA.Selenium.DevTools.V114.Network.ClearBrowserCookiesCommandSettings());
                domains.Network.ClearBrowserCache(new OpenQA.Selenium.DevTools.V114.Network.ClearBrowserCacheCommandSettings(), CancellationToken.None);
                
                domains.Storage.ClearDataForStorageKey(new OpenQA.Selenium.DevTools.V114.Storage.ClearDataForStorageKeyCommandSettings());
                domains.Storage.ClearCookies(new OpenQA.Selenium.DevTools.V114.Storage.ClearCookiesCommandSettings());
                domains.Storage.ClearSharedStorageEntries(new ClearSharedStorageEntriesCommandSettings());
                domains.Storage.ClearTrustTokens(new ClearTrustTokensCommandSettings());
                domains.Storage.ClearDataForOrigin(new ClearDataForOriginCommandSettings());
                domains.Console.ClearMessages(new ClearMessagesCommandSettings());
Denis Koreyba
  • 3,144
  • 1
  • 31
  • 49
  • Should be able to execute a script to do this: https://www.w3schools.com/jsref/met_storage_clear.asp Use the driver's execute script method. There's also one for managing cookies... with a delete all cookies method. Make sure in either case that the browser is currently at the correct domain. – pcalkins Jul 10 '23 at 22:06
  • @pcalkins it works only for page, not for all site as I understand. Anyway, executing it in console didn't actually sign me out :( – Denis Koreyba Jul 11 '23 at 08:27
  • it'll depend on the site's method for persisting a session. Some will persist the token in JS and send via custom header. Other's may use a 3rd party login which has it's own persistence/domain... (user is remembered there... so they can be re-logged in after logout happens) Take a look at requests and responses to get an idea how the site works. – pcalkins Jul 11 '23 at 17:38

0 Answers0