问卷星定时抢讲座(可以跳过最后一步智能验证)

问卷星定时抢讲座(可以跳过最后一步智能验证)

前言

研究生期间第一次没有抢到讲座,需求是第一次生产力,于是写了一个脚本,就可以轻松的抢讲座啦~

环境配置

  1. 编辑器:有一个vscode或者pycharm等等都可;
  2. 配置环境,安装 selenium 包;
  3. 浏览器:安装一个谷歌浏览器;
  4. 然后接下来需要安装Chrome 驱动文件,进入到谷歌浏览器驱动的下载网址 http://npm.taobao.org/mirrors/chromedriver/找到对应版本的驱动文件;
  5. 将驱动文件解压,将chromedriver.exe复制到和python安装目录下与python.exe相同的文件夹中;
  6. 下一步根据问卷内容修改适合自己的代码就可以愉快地抢讲座啦~

代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time


if __name__ == '__main__':
   
    option = webdriver.ChromeOptions()
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option('useAutomationExtension', False)
    browser = webdriver.Chrome(options=option)
    browser.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
    })


    while True:
        url='https://www.wjx.cn/vj/rlbhz46.aspx'                            #问卷地址
        time_now=time.strftime("%H:%M:%S", time.localtime())
        if time_now=="13:47:01":                                            #自行修改时间
          browser.get(url)

          #问卷相关问题(根据问卷内容进行调整)
          #1.姓名(填空题)
          text1 = 'XXX'                                                   #名称
          browser.find_element_by_id("q1").send_keys(text1)
          #2.学号(填空题)
          text2 = 'XXXXXXXXX'                                               #学号
          browser.find_element_by_id("q2").send_keys(text2)
          #此处为下一页
          next='btnNext'
          browser.find_element_by_id(next).click()
          #3.班级(选择题)
          js ='document.getElementById("q3_1").click()'                     # q3_1 为学硕1 q3_2 为学硕2 q3_3为专硕1 q3_4为专硕2
          browser.execute_script(js)
          
          # 模拟点击提交按钮
          browser.find_element_by_xpath("//input[@value='提交']").click()
          time.sleep(0.5)

          # 模拟点击智能验证按钮
          # 先点确认
          browser.find_element_by_xpath("//button[text()='确认']").click()
          # 再点智能验证提示框,进行智能验证
          browser.find_element_by_xpath("//div[@id='captcha']").click()
          print('去听讲座吧!')

参考

跳过只能验证这一步一开始一直没有解决,参考了Python selenium自动化刷问卷+绕过智能验证

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值