使用selenium 刷票

news/2025/1/15 21:52:37/

原文链接: 使用selenium 刷票

上一篇: 会声会影破解

下一篇: Python for-else 语句

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

ace77dbab9b2cb858a4d4bc40c3df2821ee.jpg

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

    # 显性等待,当出现 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()

ad060a53a0aeed6771fee1331c78a083be9.jpg

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

0f15af4ff0f49b076db5497e1876d036ff3.jpg

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

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次试试


http://www.ppmy.cn/news/559849.html

相关文章

python12306刷票脚本_python+splinter实现12306网站刷票并自动购票流程

通过pythonsplinter,实现在12306网站刷票并自动购票流程(无法自动识别验证码)。 此类程序只是提高了12306网站的 刷新频率(默认自动查询的刷新频率为5秒)。对于学习splinter感觉还是不错的,但是想通过装个类似刷票程序成功购票的 还是多花点钱升级升级硬…

关于刷票的那些事儿

目录 背景 起因 过程 一、重装 二、刷票 三、开工 结果 查 防 背景 最近身边有一个比赛在使用微信公众号进行投票 起因 一个大佬昨天突然发信息给我问看怎样查刷票的 过程 一、重装 重装了Java、eclipse、Python、pycharm(因为前阵子西数1T磁道损…

windows火车刷票小白秘笈

#刷成功了,别忘了给我来个赞 print(thanks)https://www.python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe下载正版python,安装这个文件勾选 默认安装路径(ps:版本不能过高,python3.8亲测不可以实现) 老…

关于微信投票微信投票神器及微信刷票软件免费版如何操作微信投票怎么免费刷票

关于微信投票微信投票神器及微信刷票软件免费版如何操作微信投票怎么免费刷票 越来越多的人在平常生活中使用微信,以微信为载体的许多功能就被开发和使用了起来,比如——微信投票。于是乎,微信上兴起了各种投票,从小学生到gov部门…

关于微信投票刷票的js代码

最近几天,有个朋友找我去写一个脚本帮他 在微信上刷票、微信投票刷票,我大概看了一下,本次微信投票刷票其实就是根据微信的openid来限制,每个openid只能投三次票的限制。 1.直接电脑使用谷歌浏览器进去朋友微信投票刷票的投票页面…

java刷票脚本_我来分享一段自己写的刷票脚本 Version 1.0

2.[代码]Version 1.0(增加自动加载jQuery) /** * 该版本在V2.0版本中基本被废弃 * */ var stationDict = {"广州" : "GZQ", "吉安" : "VAG", "北京" : "BJP", "北京西" : "BXP", "太原&…

一个微信投票小程序防止刷票的想法

简单介绍 最近公司有个项目,开发一个微信小程序,里面有个模块是投票。鉴于第一期投票活动被刷票虐的体无完肤,还是得进行总结与进步,尽量的加大刷票难度。 投票的流程中最重要的是验证功能,验证是否符合可以投票的条件…

php跨站刷票,解析PHP跨站刷票的实现代码

function curlrequest($url, $postfield,$referer‘‘,$cookie‘‘) { //http://www.jb51.net $ip rand(100, 244).‘.‘.rand(100, 244).‘.‘.rand(100, 244).‘.‘.rand(100, 244); $ch curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADE…