Python用selenium实现模拟登录,各种抢票脚本的第一步_selenium >>> pip install selenium==3

247 阅读4分钟

selenium >>> pip install selenium==3.4.1

开发环境

  • 版 本:anaconda(python3.8.8)
  • 编辑器:pycharm

有疑问的同学,或者想要Python相关资料的可以加群:1136201545 找管理员领取资料和一对一解答

先导入所需模块

from selenium import webdriver  # 操作谷歌浏览器 需要额外安装的 并且现在安装这个模块得指定版本 3.4from time import sleepimport pickle  # 保存和读取cookie实现免登录的工具import os   # 操作文件的模块

定义变量

# 大麦网主页damai_url = 'https://www.damai.cn/'# 登陆login_url = 'https://passport.damai.cn/login?ru=https%3A%2F%2Fwww.damai.cn%2F'# 抢票目标页面target_url = 'https://detail.damai.cn/item.htm?id=610820299671'

图片
在这里插入图片描述

在这里插入图片描述

在这个类里面完成所有的登陆功能

class Concert:    # 完成一个初始化    def __init__(self):        self.status = 0  # 状态码, 表示当前操作执行到了哪个步骤        self.login_method = 1  # {0: 模拟登陆, 1: 免登录}        self.driver = webdriver.Chrome(executable_path='chromedriver.exe')

登陆网站的时候要用的方法 没有登陆的情况下

第一次登陆的时候,会帮助我记录我们的登陆信息

登陆成功之后 cookie会发生变化

def set_cookies(self):    self.driver.get(damai_url)  # 打开大麦网主页    print("###请点击登陆###")    # 如果说我一直没有点击登陆? 我是不是这个程序就停在这里了    while self.driver.title.find('大麦网-全球演出赛事官方购票平台') != -1:        sleep(1)    # 程序休眠    print("###扫码成功###")    pickle.dump(self.driver.get_cookies(), open('cookies.pkl', 'wb'))   #  保存cookie    print('###cookie保存成功###')    self.driver.get(target_url)

直接拿本地的登陆信息

假如我现在已经登陆过了,那么直接拿本地的登陆信息,直接登陆就可以了

def get_cookie(self):    cookies = pickle.load(open('cookies.pkl', 'rb'))    for cookie in cookies:        cookie_dict = {            'domain': '.damai.cn',            'name': cookie.get('name'),            'value': cookie.get('value')        }        self.driver.add_cookie(cookie_dict)    print('###载入cookie###')

实现登录

def login(self):    if self.login_method == 0:        self.driver.get(login_url)  # 跳转到登陆界面登陆一下        print('###开始登陆###')    elif self.login_method == 1:        # 如果我本地没有cookies.pkl文件        if not os.path.exists('cookies.pkl'):            self.set_cookies()      # 没有文件的情况下, 再次登陆一下        else:            self.driver.get(target_url)  # 跳转到抢票页面            self.get_cookie()           # 登陆信息载入浏览器

打开浏览器功能,调用所以所有函数

调用登陆,并且刷新页面,改变登陆成功的标识

def enter_concert(self):    print('###打开浏览器, 进入大麦网###')    # 调用登陆    self.login()    self.driver.refresh()    self.status = 2    print('###登陆成功###')

执行代码



**一、Python所有方向的学习路线**

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/07f99133eaab4e2cad1ebbb498545a9d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=OTtHhCOxyNlbeZu4EagN5QbhV0I%3D)  
![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/90c7c80567344ec08bc510d8450f336a~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=BiytOLyU%2FR5D8O8dZ9nqXmDrbG8%3D)

**二、Python必备开发工具**

工具都帮大家整理好了,安装就可直接上手!![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/9e3140c080bb4c8998225c01afd74921~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=Lnwpf%2BVC2tv5qnWH9zYXr%2FXJw6I%3D)

**三、最新Python学习笔记**

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/9f89b7bc28f24f4f886acab9282d8963~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=doV0bb%2F9qHmBhSBobXkRMDRfSzE%3D)

**四、Python视频合集**

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/3d2eab5887604093a119b4f4bb2ab4e5~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=jStLeX9I83m2feFAz469xzy9VEg%3D)

**五、实战案例**

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/15145011dc9c4d75ac8828b590bcf087~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=TZZgSPnB3C1o2Ds7VZupeIyYcG0%3D)

**六、面试宝典**

![在这里插入图片描述](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/428dfda5b02e459ba10aa2c4f74805b6~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=lpmN2A%2FYvGeLcdmHCNS4zYInqTc%3D)

![在这里插入图片描述](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/0f8c45c523e247e48e2d4a04bf2d9781~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=FSCedAcieRdAGzFDUQcFKD2T52Q%3D)

###### **简历模板**![在这里插入图片描述](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/6da1747a8d3c43fa9641a6fc67fdec0f~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3NTc5MjMwMTY3MDI=:q75.awebp?rk3s=f64ab15b&x-expires=1771407231&x-signature=aoYastQF%2FQ5%2BvQCNJppTY7LvrOE%3D)



**了解详情:https://docs.qq.com/doc/DSnl3ZGlhT1RDaVhV**