• 本章最后来演示一个网页自动投票的案例,带领大家体验Selenium库在爬虫领域之外的应用。这里笔者构建一个本地的HTML网页(见本书配套代码文件中的vote.html),在浏览器中打开效果如下图所示。
  • 其投票逻辑非常简单,选中想要投票的部门,单击“确认投票”按钮,如下图所示。
  • 随后会弹出一个提示框,单击“确定”按钮即可关闭提示框,如下图所示。
  • 实现自动投票的思路也很简单:用Selenium库访问网页,再依次模拟单击响应的按钮。先用Selenium库访问网页,代码如下:
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get(r'D:\works\python_crawl1\第4章 Selenium 库深度讲解\vote.html')
  • 需要注意的是,第4行代码中的网址必须是HTML文件的绝对路径,虽然Python可以识别相对路径下的HTML文件。
  • 访问网页后,用开发者工具获取选项按钮和“确认投票”按钮的XPath表达式,然后在代码中用Selenium库的find_element_by_xpath()函数定位相关元素,再用click()函数模拟单击。而投票后弹出的提示框需要用switch_to.alert.accept()来处理。这里以第一个选项“综合管理部”为例来演示投票,代码如下:
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get(r'D:\works\python_crawl1\第4章 Selenium 库深度讲解\vote.html')for i in range(10):#循环10次,表示投票10次browser.find_element_by_xpath('//*[@id="main"]/tbody/tr[17]/td').click() #模拟单击某选项browser.find_element_by_xpath('//*[@id="main"]/tbody/tr[19]/td/input').click()#模拟单击“确认投票”按钮browser.switch_to.alert.accept() #切换到提示框,并模拟单击“确定”按钮time.sleep(1)
  • 最终自动投票结果如下图所示,成功地给“综合管理部”投了10票。

  • 实战中的网页投票当然不会如此简单,而是会采取一些防止作弊的措施,如投票前需要进行手机号码或微信验证,或者限制相同IP地址投票的次数(可以参考第8章的内容来应对)。不过,本案例演示的方法还是可以应用于自动填写自动化办公网页中的一些无须验证的表单。

4.9 Selenium 库趣味案例:网页自动投票相关推荐

  1. python利用selenium库(WEB自动化)完成智慧树自动刷题

    这里用的是Chrome浏览器,使用selenium库是需要先安装Chrome的驱动 分析: selenium库能实现网页自动操作,智慧树每次学习完一小节后都需要点击下一节视频.这里我检测了视频的总播放 ...

  2. Python学习之selenium库

    selenium库可以指挥浏览器自动工作,除了正常的安装调用之外,还需要设置浏览器引擎. 优点:简单直观:缺点:爬取大量数据时,有点慢:通常是其他方法无法解决或者很难解决时才会用到这个库. 例 # 本 ...

  3. Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)

    文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...

  4. 爬虫三(Bs4搜索、Selenium基本使用、无界面浏览器、Selenium自动登录百度案例、自动获取12306登录验证码案例、切换选项卡、浏览器前进后退、登录Cnblogs获取Cookie自动点赞)

    文章标题 一.Bs4搜索文档树 二.CSS选择器 三.selenium基本使用 四.无界面浏览器 五.selenium其他使用 1)自动登录百度案例 2)获取位置属性大小.文本 3)自动获取12306 ...

  5. python网页自动填写_Windows下使用python3 + selenium实现网页自动填表功能

    因为工作原因,需要将xls文件的数据录入到网上.因为数据量太多,而且以后时不时还需要用上,Ctrl+C,Ctrl+V不是长久之计.所以萌生一个想法,写一个工具,用于把xls文件的数据录入到网站上. 笔 ...

  6. python自动填表格_Windows下使用python3 + selenium实现网页自动填表功能

    因为工作原因,需要将xls文件的数据录入到网上.因为数据量太多,而且以后时不时还需要用上,Ctrl+C,Ctrl+V不是长久之计.所以萌生一个想法,写一个工具,用于把xls文件的数据录入到网站上. 笔 ...

  7. Windows下使用python3 + selenium实现网页自动填表功能

    本文由博主(SunboyL)原创,转载请注明出处:https://www.cnblogs.com/SunboyL/p/11563345.html 因为工作原因,需要将xls文件的数据录入到网上.因为数 ...

  8. selenium库实现批量爬取网页文章得到PDF

    引流博客 (https://ph0ebus.github.io/) 实现目的 利用python的selenium库实现批量网站打印为PDF 预备知识 selenium库的简单了解 浏览器的启动参数 r ...

  9. 用Selenium库获取网页源代码:新浪财经股票信息

    1.访问及关闭页面 通过以下代码即可访问网站,相当于模拟人打开了一个浏览器,然后访问指定网址. from selenium import webdriver browser = webdriver.C ...

最新文章

  1. Python 之字符串常用方法
  2. 亚马逊两万员工确诊新冠、iOS14.2带来新版emoji、大数据独角兽Palantir上市等| Decode the Week...
  3. 如何在生产环境使用Btrace进行调试
  4. 视频号,张小龙的星辰大海
  5. mmap内存映射、system V共享内存和Posix共享内存
  6. Java-idea-生成for循环
  7. 【研报分享】华为鸿蒙深度研究.pdf(附下载链接)
  8. c语言判断一个已知的二叉树是否是二叉排序树_从ServiceComb学习写好go代码---二叉排序树...
  9. java pdfptable_java Itext PDF 导出 table | 学步园
  10. 让 Chrome 在后台运行
  11. c语言小游戏百度云资源,c语言小游戏合集
  12. python怎么批量下载图片_批量下载网页图片(python)
  13. 北斗导航 | 北斗高精度定位在智能驾驶汽车领域的应用
  14. Java IO流学习总结一:输入输出流
  15. 在线旅游中需要上传获取那些信息,对接旅行社护照录入系统
  16. VRCORE开发者大赛圆满落幕,中国虚拟现实内容大集结
  17. snapchat第三方登录回验(服务器端)
  18. 一篇网络流的好blog
  19. 谁说手工测试不香了?25k不比二流的开发美滋滋
  20. intelx86为何从0xFFFF0处执行

热门文章

  1. 小米手机 已安装了存在签名冲突的应用
  2. 连连看--详解及实现
  3. Ubuntu+OpenCV学习汉字点阵
  4. HDU2036 改革春风吹满地
  5. 关于路由器当无线交换机用
  6. 国之重器 望穿秋水——北邮老师廖建新介绍
  7. 浅谈MQTT底层原理(网络调试助手直连阿里云)
  8. 华为:研发协同,为什么说效率是第一重要的事儿?
  9. android:sharedUserId=android.uid.system 的使用
  10. php socket_read 读取全部,PHP中socket_read的问题_php