【问题标题】:How can you set cookies on a Selenium driver using cookies from HTTPClient's CookieContainer?如何使用来自 HTTPClient 的 CookieContainer 的 cookie 在 Selenium 驱动程序上设置 cookie?
【发布时间】:2020-10-13 05:38:38
【问题描述】:
长话短说,我正在尝试实现某种混合网络自动化。我正在向网站发出 POST 请求(使用 HTTPClient)并收到 OK 回复,以及一些与会话绑定的 cookie。我想要实现的是我想使用 Selenium 驱动程序打开一个页面,其中包含从响应中收到的 cookie。我正在使用 CookieContainer 来存储请求收到的 cookie。
任何帮助将不胜感激!
编辑:我看过this 的帖子,我尝试实施他的解决方案,但没有成功。
【问题讨论】:
标签:
c#
selenium
cookies
httpclient
【解决方案1】:
解决了。我只需要创建一个 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));
}
}