python自动登录12306并自动点击验证码完成登录的源代码

这段代码展示了如何使用Python的selenium库自动登录12306网站,包括填写用户名和密码,以及识别和点击验证码完成登录。用户需要将代码中的账号和密码占位符替换为个人的12306信息。运行环境需要Python、selenium、requests等相关库。代码还包含了处理验证码的逻辑,可以作为自动抢票脚本的基础。
摘要由CSDN通过智能技术生成
以下代码可自动登录12306 - 包括输入用户名密码以及自动识别验证码并点击验证码登陆。该源码需要稍作修改:
把  username.send_keys('xxxxxxx')  中的  xxxxxx 改为 你自己的12306账号。
把  password.send_keys('yyyyyy')     中的 yyyyy 改为自己的 12306 密码。

即可运行。
该源码把自动抢票的核心功能:识别验证码并点击验证码登陆实现了。
把代码稍作加工,即可变为自己的自动抢票代码。

运行环境 - 需要安装python运行环境,selenium,requests,浏览器默认为chrome。

运行时 程序会自动分析并识别验证码并点击验证码,完成登陆过程。。。

详细代码如下:

#12306 自动打开12306网站,并输入用户名、密码和验证码,并登录12306,
#author bigluo
#email: 3490699170@qq.com

#coding=utf-8

from selenium import webdriver
import time
from PIL import Image
from selenium.webdriver.common.action_chains import ActionChains
import os
import requests
import numpy


#指定button id和button文本值,并点击,连续点击5次
#return:
#0  click successfully
#-1 连续5次均failed
#1  txt != dest_text,所以不点击
def click_button(b,id,dest_text,j):        #在当前页面查找并点击指定text,错误返回 -1.连续5次,错误时延时1秒
    txt=''
    for i in range(0,5):
       try:
          txt=b.find_element_by_id(id).text
          if txt == dest_text:
              b.find_element_by_id(id).click()
              return 0 
          else:
              return 1
          
       except:
          time.sleep(1)
          continue

    return -1                         #5次都失败了


#给定button id和text,find a given text
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值