首页 > 解决方案 > 如何使用来自 HTTPClient 的 CookieContainer 的 cookie 在 Selenium 驱动程序上设置 cookie?

问题描述

长话短说,我正在尝试实现某种混合网络自动化。我正在向网站发出 POST 请求(使用 HTTPClient)并收到 OK 回复,以及一些与会话绑定的 cookie。我想要实现的是我想使用 Selenium 驱动程序打开一个页面,其中包含从响应中收到的 cookie。我正在使用 CookieContainer 来存储请求收到的 cookie。

任何帮助将不胜感激!

编辑:我看过这篇文章,我试图实施他的解决方案,但是我没有成功。

标签: c#seleniumcookieshttpclient

解决方案


解决了。我只需要创建一个 CookieCollection 并遍历它以将 cookie 添加到 Selenium 驱动程序。

对于处于相同情况的任何人,这是我的代码:

public void SetCookies() {

    CookieCollection Cookies = CookieJar.GetCookies(new Uri("https://www.example.com/"));

    foreach (System.Net.Cookie cookie in Cookies) {

        Driver.Manage().Cookies.AddCookie(new OpenQA.Selenium.Cookie(cookie.Name, cookie.Value));

    }

}

推荐阅读