通过上文的例子,我们对Selenium的用法有了一个简单的印象。接下去我们还是基于这个组件进行模拟百度贴吧签到的功能。

逻辑分析

1、登陆
2、得到关注的贴吧
3、签到

登陆首页

首页.png

点击登陆按钮

点击登陆png

输入用户名和密码

输入用户名密码.png

检测异常登录,手机认证

手机验证.png

登陆代码说明

    public static void Login(string userName, string pwd){var driver = new ChromeDriver();driver.Manage().Window.Maximize();//浏览器最大化driver.Navigate().GoToUrl("https://www.baidu.com");oldwin = driver.CurrentWindowHandle;//首页签句柄driver.FindElement(By.XPath("//*[@id=\"u1\"]/a[7]")).Click();//点击登陆/*隐式等待设置的内容在driver的整个生命周期都有效,所以实际使用过程当中有弊端。*/driver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 0, 0, 5);driver.FindElement(By.Id("TANGRAM__PSP_10__footerULoginBtn")).Click();//点击用户名登陆driver.FindElement(By.Name("userName")).SendKeys(userName);//用户名driver.FindElement(By.Name("password")).SendKeys(pwd);//密码driver.FindElement(By.Id("TANGRAM__PSP_10__submit")).Click();   //点击登陆Thread.Sleep(1000);try{//判断是否存在手机验证码driver.FindElement(By.Id("TANGRAM__36__button_send_mobile")).Click();//发送手机验证码string vcode = Console.ReadLine();driver.FindElement(By.Id("TANGRAM__36__input_vcode")).SendKeys(vcode);//输入6为数字验证码driver.FindElement(By.Id("TANGRAM__36__button_submit")).Click();//确认}catch (Exception e){}}

贴吧签到

代码说明
传入浏览器Driver,通过xpath得到所有关注的贴吧,循环打开贴吧的页面,模拟点击签到按钮

xpath说明.png

签到.png

    //贴吧一键签到public static void OnTimeSign(ChromeDriver driver){driver.FindElement(By.XPath("//*[@id=\"u_sp\"]/a[5]")).Click();driver.SwitchTo().Window(driver.WindowHandles[1]);//操作权限为第二个页签var tiebaList = driver.FindElements(By.XPath("//*[@id=\"likeforumwraper\"]/a"));foreach (var tieba in tiebaList){tieba.Click();driver.SwitchTo().Window(driver.WindowHandles[2]);//操作权限为第三个页签driver.FindElement(By.XPath("//*[@id=\"signstar_wrapper\"]/a")).Click();driver.Close();driver.SwitchTo().Window(driver.WindowHandles[1]);//操作权限为第二个页签}driver.Navigate().Refresh();driver.Close();driver.SwitchTo().Window(oldwin);}

就是这么简单。是不是相比原来的方式要简单的多,你是如何浏览器操作的,代码就怎么写。

代码直通车
Github FoxCrawler项目下的SeleniumClawer解决方案

Selenium + C# 实现模拟百度贴吧签到 2相关推荐

  1. python 在软件自己自动输入-Python模拟百度自动输入搜索功能的实例

    如下所示: # 访问百度,模拟自动输入搜索 # 代码中引入selenium版本为:3.4.3 # 通过Chrom浏览器访问发起请求 # Chrom版本:59 ,chromdriver:2.3 # 需要 ...

  2. chrome frame节点 取_爬虫3-下(利用Selenium + Chrome Driver模拟用户操作浏览器)

    一.前言 前面利用request的方法爬取页面数据的操作,今天用另外一种方法:利用Selenium + Chrome Driver模拟用户操作浏览器,来爬取数据. 在此之前需要做一些准备工作:安装se ...

  3. 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1

    孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...

  4. Java Selenium简单浏览器模拟

    Java Selenium简单浏览器模拟 模拟登陆QQ邮箱为例 Maven中pom.xml配置: <?xml version="1.0" encoding="UTF ...

  5. 360浏览器模拟百度搜索引擎蜘蛛访问

    一般用在网站被挂马以后,直接访问没有问题,可以通过模拟百度或其他搜索引擎来访问,即可发现问题.比如下面的例子,直接访问没问题,使用模拟搜索引擎访问即可发现问题. 比如访问一个针对搜索引擎挂马的网页:h ...

  6. java怎样模拟点击网页,笔者操作Java+selenium实现网站模拟点击和页面数据爬取

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java+selenium实现网站模拟点击和页面数据爬取的问题,如果我们遇到了Java+selenium实现网站模拟点击 ...

  7. html 模拟百度和模拟360

    百度搜索java的url https://www.baidu.com/s?wd=java &rsv_spt=1&rsv_iqid=0x9f31aa5c00116d2b&issp ...

  8. win爬取网址获取宵宫语音,使用python的selenium库来模拟点击

    前言:经过大量的收集资料,发现因为seleuninm的更新,所有的教程都各不相同,因此自己花了半天时间学习了完整的一个爬取过程,并分享一个用Chrome爬取的示例. 一.环境准备 python> ...

  9. 如何邀请好友注册您的网站(模拟百度网盘)

        花了一年时间做了个网盘下载站点,有兴趣的朋友可以看看站名:去转盘网 其中有个需求是想模拟百度网盘的邀请好友注册功能,想了很久果然 "皇天不负有心人" ,终于整理出个思路,并 ...

  10. php 模拟蜘蛛,PHP模拟百度蜘蛛,伪造IP爬行网站,附源代码

    PHP模拟百度蜘蛛,伪造IP爬行网站,附源代码 // 关闭PHP报错 error_reporting( E_ALL^E_NOTICE^E_WARNING ); //实现使用curl模拟百度 蜘蛛进行采 ...

最新文章

  1. 消息队列之 RabbitMQ
  2. Mybatis注解实现一对多关联映射(@Many)
  3. kubernetes(k8s)架构和组件,工作流程 ,资源
  4. LeetCode之Remove Element
  5. [vue-cli] vue-cli工程中常用的npm命令有哪些
  6. java start打开cmd窗口并停住_浅析Java命令执行
  7. oracle open_link,open_links_per_instance 和 open_links 参数说明
  8. 改用MyAnalyzer的KMeans聚类算法
  9. 编程语言python怎么读-编程零基础应当如何开始学习 Python?
  10. 关于身份证校验算法的一些想法
  11. windows下将python自带的pip卸载了,怎么重新装pip
  12. android系统wifi控制风扇,可手机APP控制的机箱风扇,光污染新玩法
  13. P34-c++中的代码重用-03多重继承详细介绍
  14. 第3章 从零开始的计算机系统
  15. 【Unity】Jay 开发日志(一)——人物的移动、死亡与平台跳跃
  16. 万能RecyclerView分割线扩展
  17. [R]指令总结-Rstudio,R版本,R包
  18. 笔记本电脑拆机并更换固态硬盘的方法
  19. 运用javascript的成员访问特性来实现通用版的兼容所有浏览器的打开对话框功能...
  20. git 如何进行版本回退?

热门文章

  1. 中职网络安全大赛攻防阶段加固(仅供参考!!!)
  2. python编写摇骰子游戏_Python使用tkinter实现摇骰子小游戏功能的代码
  3. 二维otsu算法python_OpenCV-Python系列之OTSU算法
  4. 张宇:7~12月考研数学该如何复习?
  5. 软件开发标准(文档模板)
  6. Matlab GUI设计——文件读取和保存uigetfile,uiputfile
  7. ubantu安装搜狗常见问题
  8. 50行Python代码制作一个计算器
  9. 发烧游戏机型的计算机制配单,万元主机配置发烧级游戏设计渲染配置单
  10. 中国网络借贷行业现状分析及未来前瞻报告2021-2027年