public virtual string GetCookies()
{
string result = "";
IWebDriver driver = new ChromeDriver();
string url = "";
string userName = "";
string userPwd = "";
driver.Navigate().GoToUrl(url);
Thread.Sleep(2 * 1000);
var formElement = driver.FindElement(By.XPath("//form[@name='loginErrForm']"));
var loginbtn = formElement.FindElement(By.XPath("//input[@name='submit']"));
var userNameinput = formElement.FindElement(By.XPath("//input[@name='userid']"));
var pawInput = formElement.FindElement(By.XPath("//input[@name='pwd']"));
userNameinput.SendKeys(userName);
Thread.Sleep(1 * 1000);
pawInput.SendKeys(userPwd);
loginbtn.Click();
Thread.Sleep(2 * 1000);
var dd = driver.Manage().Cookies.AllCookies.ToDictionary(cookie => cookie.Name, cookie => cookie.Value);
StringBuilder strBuilder = new StringBuilder();
foreach (var d in dd)
{
var line = d.Key + "=" + d.Value + "; "; strBuilder.Append(line);
}
var cookieStr = strBuilder.ToString().Trim(); cookieStr = cookieStr.Substring(0, cookieStr.Length - 1);
driver.Close();
driver.Quit();
result = cookieStr;
return result;
}
本文介绍了一种使用Selenium WebDriver(以ChromeDriver为例)自动化登录网站并获取登录后Cookies的方法。通过定位页面元素输入用户名和密码,点击登录按钮,等待页面加载,最后收集并返回所有Cookies。
2170

被折叠的 条评论
为什么被折叠?



