原文链接: 使用selenium 刷票

上一篇: 会声会影破解

下一篇: Python for-else 语句

刷票页面进入后需要填入密码

键入密码后,转到投票页面需要一定的时间,我们使用一个进入之后才能出现的类进行显性等待

    # 显性等待,当出现 optextinfo 类后进入locator = (By.CLASS_NAME, 'optextinfo')WebDriverWait(browser, 20, 0.5).until(EC.presence_of_element_located(locator))

进入后需要点击checkbox,选择投票的人,一共15个,但是最少选10个

这里使用按键的方式选择,因为使用click会出现点击无效的情况

        checks[i].send_keys(Keys.SPACE)# checks[i].click()

选择需要投票的人数后,点击提交后退出即可

使用无头模式,可以加快速度

from selenium import webdriver
import time
import random
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium import webdriveroptions = webdriver.ChromeOptions()
# 忽视缺证书警告
options.add_argument('--headless')
options.add_argument('test-type')
options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])def vote():browser = webdriver.Chrome(chrome_options=options)url = 'http://u196266.a.stonevote.net/poll/ab45e9d4-7c7e-785e-4e08-c1389602d137.html'browser.get(url)# 输入进入的密码browser.find_element_by_id('inputPasswd').send_keys('123456')browser.find_element_by_css_selector('.btn.btn-primary').click()# 显性等待,当出现 optextinfo 类后进入locator = (By.CLASS_NAME, 'optextinfo')WebDriverWait(browser, 20, 0.5).until(EC.presence_of_element_located(locator))checks = browser.find_elements_by_tag_name('input')items = list(range(1, 15))random.shuffle(items)items = items[:9] + [0]print(items)for i in items:print(i, checks[i])# checks[i].click()# 使用click 有时会出现无法点击的错误,会自动退出# 使用space 可以避免这个错误checks[i].send_keys(Keys.SPACE)browser.find_element_by_css_selector('.btn.btn-primary.votesubmitbutton').click()# 发出请求后等待0.5秒后退出time.sleep(0.5)browser.close()def work(cnt):for i in range(cnt):vote()work(30)

先投30次试试

使用selenium 刷票相关推荐

  1. python+selenium实现12306自动登录刷票抢票(自己做黄牛?!)

    上一篇写了12306的自动登录破解验证图https://blog.csdn.net/weixin_38283159/article/details/86498159 这篇算是它的后续部分加上了简单的刷 ...

  2. Selenium 实战:自写 12306 刷票脚本

    每逢过年就到了 12306 的抢票高峰期,作为一枚程序员,当然不能把时间和金钱浪费在刷票上啦.这里分享自写的 12306 刷票脚本,有兴趣的欢迎一起用技术解决生活难题. 本 Chat 主要贡献内容如下 ...

  3. java + Selenium实现12306自动购票

    为什么搞这个东西?[java + Selenium实现12306自动购票, 余票监测] 1.主要是12306是爬虫界的一个分水岭,所以我一直想玩12306[本次的实现并非真正意义上的破解12306实现 ...

  4. python爬取12306列车信息自动抢票并自动识别验证码(二)selenium登录验证篇

    项目前言 自学python差不多有一年半载了,这两天利用在甲方公司搬砖空闲之余写了个小项目--[12306-tiebanggg-master]注:本项目仅供学习研究,如若侵犯到贵公司权益请联系我第一时 ...

  5. Python爬虫第二课 Selenium介绍和反爬技术

    selenium的介绍 知识点: 了解 selenium的工作原理 了解 selenium以及chromedriver的安装 掌握 标签对象click点击以及send_keys输入 1. seleni ...

  6. python自动输入验证码_python下的自动化测试--selenium 验证码输入问题

    之前一直在研究scrapy下数据抓取,在研究ajax数据抓取时碰巧研究了一下selenium,确实很实用,不过只做scrapy下的数据抓取,不怎么合适,一是性能的损耗,一直需要开一个浏览器,二是对于爬 ...

  7. selenium自动化测试实战教学(12306自动化订票)春节出行必备

    一.Selenium介绍 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Se ...

  8. python实现自动抢票_python+selenium实现自动抢票

    使用说明 程序运行开始,需要输入出发地,目的地,出发时间,乘客信息,车次:乘客信息和车次可以输入多个 刚刚开始学习爬虫,selenium仅仅是解放了双手,运行效率不是很高: 程序运行时会打开chrom ...

  9. selenium模拟geetest极验滑动验证

    前言 前一阵子打球认识了一个小学生,为了骗他钱,吹了好半天,什么盗取心上人的QQ密码,吃鸡外挂,学校饭卡无限充值,最终达成交易10块钱帮他刷QQ赞. 回家赶快百度研究了一下,原来刷赞很简单:很多网站都 ...

最新文章

  1. 长庆石油学校计算机97,我在浙江大学学习计算机技术 ----我在长庆油田会战的12年(十一)...
  2. 美国DARPA204页可解释人工智能文献综述论文《Explanation in Human-AI Systems》
  3. 从C++strStr到字符串匹配算法
  4. 注册界面的设计与实现
  5. 剖析《最后生还者 第二部》叙事系统的成就与败笔(上)
  6. js eval()函数
  7. 一个顶级程序员要多久才能独自写完Win10代码?
  8. 并查集——家谱(洛谷 P2814)
  9. Java编程基础 - 泛型
  10. 面试出现频率超高的一道算法题
  11. 贵州省中职学校计算机教材电子版,中职计算机基础课件_贵州省中职学校计算机应用基础教学工作计划.doc...
  12. 怎么把ppt文字大小设置一致_PPT基础入门技巧,这都不会?就别谈制作PPT了,学会瞬间提高档次...
  13. linux里的.mht是什么文件,Linux下阅读MHT文件
  14. 作为学生,我是怎么半年赚到人生第一个三十万的
  15. Unirech腾讯云国际站代充-云服务器系统盘使用问题
  16. ORA-01031: insufficient privileges解决办法
  17. APP运营推广不简单 这些数据指标一定要看!
  18. python turtle方向_Python turtle.left()用法及代码示例
  19. 汽车专场 | 新能源汽车动力电池PACK CAE分析实例解读
  20. 华为ac配置radius认证服务器_华为aaa配置 华为AAA认证典型配置举例 - 网络设备 - 服务器之家...

热门文章

  1. ElasticSearch—冷热(hotwarm)架构部署
  2. 宋婷科幻作品连载 | 算力:幻想几何学(一)
  3. 订餐系统之同步口碑外卖商家菜单与点点送订单
  4. linux下载edk2链接文件
  5. MPI并行程序开发设计----------------------------------并行编程模型和算法等介绍
  6. git add .添加文件时报错 error: ‘fileName/‘ does not have a commit checked out 解决方法
  7. Google Chrome 成为互联网的看门人
  8. Linux——网络应用与服务
  9. 英飞凌SP370方案胎压监测器-入门级视频课程-朱有鹏-专题视频课程
  10. 雄关漫道真如铁,而今迈步从头越(嗨翻C语言)8.6