using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;


   public class GetSinaCookie
{
private static string userName = "name";
private static string paw = "passward";
public static void RefreshCookie()
{ // https://weibo.com
var url = "https://weibo.com";
var driver = new ChromeDriver();
driver.Navigate().GoToUrl(url);
Thread.Sleep( * );
var btn = driver.FindElement(By.XPath("//a[@node-type='loginBtn']"));
btn.Click();
Thread.Sleep( * );
var temp = driver.FindElements(By.XPath("//a[@node-type='submitBtn']"));
var oun = temp.Count();
var userNameinput = driver.FindElement(By.XPath("//input[(@node-type='username') and (@tabindex = '3')]"));
var pawInput = driver.FindElements(By.XPath("//input[(@name='password')]")).ToArray()[]; //driver.FindElement(By.XPath("//input[(@name='password')]"));
var loginbtn = driver.FindElements(By.XPath("//a[@node-type='submitBtn']")).ToArray()[];
userNameinput.SendKeys(userName);
Thread.Sleep( * );
pawInput.SendKeys(paw);
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(, cookieStr.Length - ); driver.Close(); driver.Quit(); } }

注意点:

1、在获取节点前、点击按钮前、点击按钮后、以及获取cookie前的操作,要暂停一下,比如暂停2到3秒,防止节点或者页面没有加载完成导致无法获取节点或者给节点赋值不正确等错误

2、以上代码仅适用于不需要输入验证码的情况。

使用Selenium+ChromeDriver登录微博并且获取cookie的更多相关文章

  1. 如何不做登录请求而获取cookie到Jmeter里

    如何不做登录请求而获取cookie到Jmeter里? 登录被测系统后,按F12,找到如下位置,将这个表格所有信息都复制到Jmeter的HTTP Cookie管理器元件,这样就可以不需要登录,能继续发送 ...

  2. 4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)

    代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 16:13:52 2018 @author: a " ...

  3. Jmeter_接口串联自动化测试_登录后充值获取cookie

    1.登陆->充值->运行会报错 2,那如何解决这个问题呢,添加HTTP COokie管理器 另外一种方法,登录->提取正则表达式,充值->添加HTTP cookie管理器

  4. ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目

    ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)   我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...

  5. python利用selenium(webdriver chrome)模拟登陆获取cookie

    (我是在windows下进行实验的) 准备工作: 1.安装python环境. 2.python安装selenium插件(执行以下命令就行).   pip install selenium 3.Wind ...

  6. 【接口自动化】selenium库也有大用场(获取cookie)

    相信有些童鞋在做接口.或者说接口自动化测试的过程中会遇到这样的场景:测试的接口,必须是需要登录后才能发起请求成功的. 那么怎么解决呢? 本着团队协作的精神,我们就去让开发同学开个后门,给你个" ...

  7. selenium登录163邮箱,得到cookie,requests后续请求

    1.场景 很多时候登录操作是比较复杂的,因为存在各种反爆破操作,以及为了安全性提交数据都会存在加密.如果要完全模拟代码去实现登录操作是比较复杂,并且该网站后续更新了登录安全相关功能,那么登录的模拟操作 ...

  8. Java通过httpclient获取cookie模拟登录

    package Step1; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.Htt ...

  9. PHP获取Cookie模拟登录CURL

    要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookie ...

随机推荐

  1. SpringCloud学习笔记:负载均衡Ribbon(3)

    1. RestTemplate简介 RestTemplate是Spring Resource中一个访问第三方RESTful API接口的网络请求框架. RestTemplate是用来消费REST服务的 ...

  2. Linux下python3、virtualenv、Mysql、redis安装配置

    一.在Linux安装python解释器 1.下载python3源码包 cd /opt/ wget https://www.python.org/ftp/python/3.6.2/Python-3.6. ...

  3. BZOJ4269再见Xor——高斯消元解线性基

    题目描述 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. 输入 第一行一个正整数N. 接下来一行N个非负整数. 输出 一行,包含两 ...

  4. springboot2.0整合es的异常总结

    异常: availableProcessors is already set to [4], rejecting [4] 在启动类中加入 System.setProperty("es.set ...

  5. 使用Spring Boot Actuator将指标导出到InfluxDB和Prometheus

    使用Spring Boot Actuator将指标导出到InfluxDB和Prometheus   Spring Boot Actuator是Spring Boot 2发布后修改最多的项目之一.它经过 ...

  6. EOJ 306 树上问题

    题解: 因为w大于1,所以,题意就是,有多少(x,z),存在x到z的路径上,有一个x<y<z的y w没用的其实. 树上路径问题,有什么方法吗? 1.树链剖分.这个主要方便处理修改操作. 2 ...

  7. ubuntu不能联网的问题

    控制面板\网络和 Internet\网络和共享中心-->更改>配器设置-->以太网-->右键属性-->共享-->允许其他网络用户通过此计算机的internet连接来 ...

  8. css 函数

    css还有一些强大的函数: 1. calc 可以混合多种单位来计算 div { font-size: calc(100vw/5 + 1rem - 100px) } 2. max.min.clamp m ...

  9. Elasticsearch High Level Rest Client 发起请求的过程分析

    本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求(index操作.update.delete--)的一个详细过程的理解,主要涉及到Res ...

  10. JS转换HTML转义符,编码及解码

    JS转换HTML转义符 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'') ...