selenium + 谷歌扩展程序 添加cookie模拟登陆

C# 同时被 3 个专栏收录
2 篇文章 0 订阅
1 篇文章 0 订阅
1 篇文章 0 订阅

 这个不对某网站做详细的代码展示以及测试,文中主要讲解思路,最近做了一些爬虫项目,遇到了很多问题,比如说在登录的时候会遇到验证码,图片拖动一些头疼问题,对于验证码图片识别还好一点,可以去网站找专门做打码的公司对接接口,也可以使用我将要讲解的思路方法处理,可以解决大部分网站的登录问题,但是对某些银行网站的登录 使用了密码控件这里就不太适合继续往下看了!

这里还需要对谷歌扩展程序有一定的基础知识,其实问题也不大,在网上搜一搜,了解里面的结构以及使用的属性就OK了。

这里分为两部分,第一部分就是谷歌扩展 第二部分就是selenium

第一部分就是谷歌扩展  最主要的三个文件 background.js 、jquery-3.3.1.min.js、manifest.json

manifest.json 做的就是配置 权限等 这里面最重要的是 permissions 属性里面的    

   "cookies",
    "storage", // 插件本地存储
    "http://*/*", // 可以通过executeScript或者insertCSS访问的网站
    "https://*/*" // 可以通过executeScript或者insertCSS访问的网站

background.js 做的是获取cookie ,这里要说的是通过手动登录拿到所有的cookie 然后进行重构后向你的WEB网站发送进行保存

        //获取cookie
        chrome.cookies.getAll({ domain: "XXXX.com" }, function (cookielist) {
            //重构Cookie
            cookielist.forEach(function (cookie, index) {
                var newcookie = { domain: cookie.domain, name: cookie.name, path: cookie.path, value: cookie.value };
                arr.push(newcookie);
            });
            cookie_str = JSON.stringify(arr);
            
            //将cookie POST 到你的WEB项目
        });

这里用的WEB网站是MVC ,拿到cookie 后直接保存到内存中 ,这里第一部分就完成了

 

第二部分就是selenium  通过本地项目地址访问WEB网站,从内存中取出cookie,这是就可以启动 selenium 谷歌驱动了,对获取到的cookie 添加到启动的浏览器驱动中,这里贴上关键代码

                    web = new ChromeDriver();
                    web.Navigate().GoToUrl("你的登录地址或者首页");
                    web.Manage().Window.Maximize();  //窗口最大化
                    web.Manage().Cookies.DeleteAllCookies();
                    foreach (var item in licookies)
                    {
                        Cookie cookie = new Cookie(item.name, item.value, item.domain, item.path, null);
                        web.Manage().Cookies.AddCookie(cookie);
                    }
                    web.Navigate().GoToUrl("你将要打开的地址");

 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值