如何使用Selenium Web Driver和C#清除浏览器cookies

3

如题,如何使用Selenium Web Driver和C#清除浏览器Cookies?

IWebDriver driver = new FirefoxDriver();
driver.Manage().Cookies.DeleteAllCookies(); //delete all cookies
System.Threading.Thread.Sleep(5000);

我尝试了上述代码,但它无法删除会话数据。


我认为你做得很好,如果以上方法不起作用,请尝试根据名称删除 cookie。 - eduliant
2个回答

7
您可以使用以下方法清除Cookie:
driver.Manage().Cookies.DeleteAllCookies();

请注意,这只会清除当前域的cookie。我们与一些使用Azure AD的网站合作。为了正确地在测试结束时清除会话,我首先运行delete方法,然后导航到他们的域,并再次运行delete方法。


7
我认为代码应该是:-
driver.manage().deleteAllCookies();

driver.Manage().Cookies.DeleteAllCookies();

或者

使用相同的Firefox配置文件进行试验:

  1. driver.close();

  2. driver = new FirefoxDriver(SeleniumObject.firefoxprofile); // 使用之前会话启动的配置文件。

  3. driver.get(AppURL);

    • 浏览器关闭。
    • cookie丢失。

使用get("")进行试验:

  1. driver.get("");

  2. driver.get(AppURL);

希望这有所帮助 :)


在带有组织、用户名和密码的登录页面中,URL 自动采用了其他组织名称,因此考虑删除 cookie,但似乎无效(间歇性)。 - Nicky Varghese
它是非阻塞的http://stackoverflow.com/questions/27504358/waiting-for-deleting-cookies-with-webdriver - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接