C# 13行代码带你模拟登录QQ空间

简介: C# 13行代码带你模拟登录QQ空间

最近想做一个QQ空间点赞的小工具,于是晚上下班回来就开始分析PC版的QQ空间,打开Chrome,切换到Network,然后输入账号密码,然后点击登录。。。

然后,我曹。。。。一堆请求就开始了。。。。搞了半天,还要去分析登录的加密方法。。。。太麻烦了。。。

然而我们写代码的懂不起那些。。。

 

于是就果断掏出的大杀器Selenium+PhantomJS


653862-20170925213254589-714316939.jpg

说了这么多要不要直接上代码啊???

好吧,直接上代码

PhantomJSDriverService services = PhantomJSDriverService.CreateDefaultService();
            PhantomJSDriver driver = new PhantomJSDriver(services);
            driver.Navigate().GoToUrl("https://qzone.qq.com/");
            IWindow window = driver.Manage().Window;
            window.Maximize();
            Thread.Sleep(3000);
            Actions actions = new Actions(driver);
            IWebDriver login =  driver.SwitchTo().Frame(driver.FindElementById("login_frame"));
            login.FindElement(By.Id("switcher_plogin")).Click();
            login.FindElement(By.Id("u")).SendKeys("账号");
            login.FindElement(By.Id("p")).SendKeys("密码");
            login.FindElement(By.Id("login_button")).Click();
            Thread.Sleep(5000);


解释一下代码的意思:

1-5行代码的意思就是创建一个没有界面的浏览器,然后线程休眠三秒钟,等待浏览器渲染。然后就是创建一个Actions,这里带了一个s,不是C#库里面的Action哈,切记哈!

然后就是切换到iframe,QQ空间里面的登录区域实际上是一个iframe嵌入在里面

找到这个iframe的ID,然后SwitchTo

然后找到这个Iframe里面的

 

模拟点击一下,就会显示输入账号和密码的输入框。

然后找到输入框和密码的ID,并且SendKeys账号和密码进去,然后就找到登录按钮,Click一下就好了,就进入主页了。

只要进去了,就能做的事情太多了。。。拿到Cookie ,各种点赞什么的,各种自动发说说啊,

忘了说一下,那段代码要是能跑起来,还必须先在Nuget里面引入两个库

 

谢谢你的阅读,希望能帮到你

 



目录
相关文章
|
机器学习/深度学习 人工智能 边缘计算
AI技术在医学影像诊断中的应用
传统的医学影像诊断需要耗费大量时间和人力,而随着人工智能技术的发展,AI在医学影像诊断中的应用也日益广泛。本文将探讨AI技术在医学影像诊断中的应用现状和未来发展,以及其对医疗行业的深远影响。
785 28
|
人工智能 自然语言处理 机器人
创新场景丨大模型时代,重塑智能终端新体验
大模型为智能终端带来的变革是全方位的,但挑战也同样显而易见。云侧部署的大模型加端侧应用的大模型是综合平衡性能、成本、功耗、隐私、速度之下的最佳选择。
|
数据可视化 机器人 编译器
科力雷达Lidar使用指南
本文是科力2D激光雷达Lidar的使用指南,包括了雷达的安装、编译、IP配置、上位机软件使用、ROS节点运行、参数配置、官方文档和软件资源链接,以及雷达通讯建立失败等问题的解决方案。适用于Ubuntu20.04(x86) PC和Ubuntu20.04(Arm) Nvidia Orin环境。
1101 1
科力雷达Lidar使用指南
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
JavaScript API
使用vue3+vite+electron构建小项目介绍Electron进程间通信
使用vue3+vite+electron构建小项目介绍Electron进程间通信
1979 3
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
4229 0
windows版java版本管理器
|
开发框架 前端开发 JavaScript
前后端分离,Asp.net core webapi 如何配置跨域
前后端分离,Asp.net core webapi 如何配置跨域
625 0
|
Web App开发 安全 前端开发
干货 | 总结各种骚姿势绕过文件上传
干货 | 总结各种骚姿势绕过文件上传
14606 0
|
网络架构
IP 地址规划实例
IP 地址规划实例小知识
790 0
IP 地址规划实例