python+selenium 实现扫码免密登录示例代码

目录
  • 一、需求描述
  • 二、首先扫码登录获取cookies保存到本地未后面免密登录做准备
  • 三、初始化浏览器
  • 四、获取本地保存的cookies实现登录

一、需求描述

web 自动化测试/python爬虫往往会遇到扫码登录的情况,不是所有的网站都支持用户密码登录,遇到这种扫码登录的情况会阻碍我们自动化测试/爬虫的进行,所有为了可以顺畅的进行我们的需求,在进行自动化或者爬虫前我们首先要解决扫码登录的问题,下面讲解如何实现扫码免密登录。

二、首先扫码登录获取cookies保存到本地未后面免密登录做准备

具体实现代码如下:

def get_cookies():
    # 首先获取cookies保存至本地
    driver = webdriver.Chrome('/Users/xxx/Documents/python/pack/chromedriver/chromedriver')
    page_url = 'https:/xxx/38268919/bugtrace/buglists/query/1/created/desc?query_token=20220706291334df28c613a85aa589f04376d034'
    driver.get(page_url)
    driver.maximize_window()
    # 进行扫码登录
    time.sleep(20)
    # 获取列表形式的cookies
    cookies = driver.get_cookies()
    # 转换成字符串保存
    jsonCookie = json.dumps(cookies)
    # 保存到txt文件
    with open('cookies.txt','w') as f:
        f.write(jsonCookie)
    print('cookies保存成功!')

三、初始化浏览器

def browser_initial():
    driver = webdriver.Chrome('/Users/xxx/Documents/python/pack/chromedriver/chromedriver')
    page_url = 'https://xxx/38268919/bugtrace/buglists/query/1/created/desc?query_token=20220706291334df28c613a85aa589f04376d034'
    driver.get(page_url)
    driver.maximize_window()
    return driver

四、获取本地保存的cookies实现登录

代码实现如下

def login(driver):
    with open('cookies.txt','r',encoding='utf8') as f:
        cookies = json.loads(f.read())
    # 给浏览器添加cookies
    for cookie in cookies:
        cookie_dict = {
            'domain': '.tapd.cn',
            'name': cookie.get('name'),
            'value': cookie.get('value'),
            "expiry": 1658386136,
            'path': '/',
            'httpOnly': True,
            'Secure': True
        }
        # print(cookie_dict)
        driver.add_cookie(cookie_dict)
    # 刷新网页,cookies才会成功
    driver.refresh()
if __name__ =='__main__':

driver=browser_initial()

login(driver)

到此这篇关于python+selenium 实现扫码免密登录示例代码的文章就介绍到这了,更多相关python扫码免密登录内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 淘宝秒杀python脚本 扫码登录版

    本文实例为大家分享了python淘宝秒杀的具体代码,供大家参考,具体内容如下 # 淘宝秒杀脚本,扫码登录版 import os from selenium import webdriver import datetime import time from os import path driver = webdriver.Chrome() def login(url): # 打开淘宝登录页,并进行扫码登录 driver.get("https://www.taobao.com") tim

  • python实现二维码扫码自动登录淘宝

    一个小项目自动登录淘宝联盟抓取数据,由于之前在Github上看过类似用Python写的代码因此选择用Python来写,第一次用Python正式写程序还是被其"简单"所震撼,当然用的时候还是对其(2.7版)编码.迁移环境等问题所困扰,还好后来都解决了. 言归正传,抓取淘宝联盟的数据首先要解决的就是登录的问题,之前一般会碰到验证码的困扰,现在支持二维码扫码登录反而简单了,以下是登录的Python代码,主要是获取二维码打印,然后不断的检查扫码状态,如果过期了重新请求二维码(主要看逻辑,由于有

  • python代码实现扫码关注公众号登录的实战

    目录 获取二维码部分 获取关注状态值 解析微信服务器报文 大致思路:调用微信带参数二维码接口生成二维码,前端显示二维码同时于服务器进行长链接通信,监控关注状态,如果有对应的场景码参数的关注,则进行登录操作. 下面是服务示意图 主要代码实现: 获取二维码部分 1.取access_token app_id = 'xxxx' app_secret = 'xxxxxx' url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr

  • python+selenium 实现扫码免密登录示例代码

    目录 一.需求描述 二.首先扫码登录获取cookies保存到本地未后面免密登录做准备 三.初始化浏览器 四.获取本地保存的cookies实现登录 一.需求描述 web 自动化测试/python爬虫往往会遇到扫码登录的情况,不是所有的网站都支持用户密码登录,遇到这种扫码登录的情况会阻碍我们自动化测试/爬虫的进行,所有为了可以顺畅的进行我们的需求,在进行自动化或者爬虫前我们首先要解决扫码登录的问题,下面讲解如何实现扫码免密登录. 二.首先扫码登录获取cookies保存到本地未后面免密登录做准备 具体

  • flask框架实现修改密码和免密登录功能

    修改密码功能 数据库部分: #重置密码 def reset_pass(phone,password): conn,cursor=get_conn() sql="update userdata set userpass='"+password+"' where userphone='"+phone+"'" try: print("正在修改密码...") resetflag=cursor.execute(sql) conn.com

  • Python3+selenium实现cookie免密登录的示例代码

    进过两天的研究终于实现了cookie的免密登录,其实就是session.特别开心,因为在Python爬虫群里问那些大佬,可是他们的回答令我寒心,自己琢磨!!! 靠谁比如靠自己,为此我总结下经验,以免入门的小白再次踩这样的吭.其实网上很多博客写的都比较不详细甚 首先问题自己思考,不懂得去群里问问,然后最重要的要理解事物的本质,只有理解后才能运用它:最后在百度一下把所有相关的博客都点开,一条一条的看一遍总结下规律,比较喽的就舍弃,这样基本上都能得到启发作用.比如selenium的本质就是操作浏览器的

  • 使用python的pexpect模块,实现远程免密登录的示例

    说明 当我们需要用脚本实现,远程登录或者远程操作的时候,都要去解决如何自动输入密码的问题,一般来说有3种实现方式: 1).配置公钥私钥 2).使用shell下的命令,expect 3).使用python的pexpect模块 下面介绍的代码,是使用python的pexpect模块实现的: 代码 import os import sys import pexpect import datetime #获取昨天的日期 date_yes = (datetime.date.today()-datetime

  • Win10下配置VScode远程开发ssh-remote(免密登录)

    目录 问题背景: 环境准备: 配置步骤: 1.在本地配置服务器的免密登录 2.VScode上的配置 问题背景: 在开发或者做实验的过程中,我们经常会用到远程服务器或者Github的项目,而我服务器上的项目只能在Jupyter Notebook上编写(或许可以在其他IDE上写,但我不知道).而我们喜欢用的IDE比如Pycharm.轻量级的VScode,如何在本地的IDE上使用服务器的项目且快速.方便地写代码呢?这就是今天要详细介绍的VScode配置免密ssh+remote,一旦连接成功,我们就可以

  • .NET微信开发之PC 端微信扫码注册和登录功能实现

    一.前言 先声明一下,本文所注重点为实现思路,代码及数据库设计主要为了展现思路,如果对代码效率有着苛刻要求的项目切勿照搬. 相信做过微信开发的人授权这块都没少做过,但是一般来说我们更多的是为移动端的网站做授权,确切来说是在微信端下做的一个授权.今天遇到的一个问题是,项目支持微信端以及 PC 端,并且开放注册.要求做到无论在 PC 端注册或者是在微信端注册之后都可以在另外一个端进行登录.也就是说无论 PC 或是微信必须做到"你就是你"(通过某种方式关联). 二.寻找解决方案 按传统的方式

  • PC 端微信扫码注册和登录实例

    PC 端微信扫码注册和登录 一.前言 先声明一下,本文所注重点为实现思路,代码及数据库设计主要为了展现思路,如果对代码效率有着苛刻要求的项目切勿照搬. 相信做过微信开发的人授权这块都没少做过,但是一般来说我们更多的是为移动端的网站做授权,确切来说是在微信端下做的一个授权.今天遇到的一个问题是,项目支持微信端以及 PC 端,并且开放注册.要求做到无论在 PC 端注册或者是在微信端注册之后都可以在另外一个端进行登录.也就是说无论 PC 或是微信必须做到"你就是你"(通过某种方式关联). 二

  • 服务器免密登录的实现以及异常解决方案

    当我们在现在创建测试用Linux服务器或者服务器集群的时候,需要通过终端连接自己创建的服务器. 实现步骤分为2步: 1.生成SSH Key: 2.覆盖authorized_keys文件 1.生成SSH Key 我们看到生成了以上一些列文件. 2.覆盖authorized_keys文件 因为authorized_keys文件中存储某个ssh key的公钥.如果不覆盖的话,就只能使用这个公钥登录了.不知道理解的对不对.欢迎指正. 3.配置无效,还是需要输入密码的解决方案 但是,很多人在这样配置之后还

  • python实现超市扫码仪计费

    python实现超市扫码仪计费的程序主要是使用超市扫码仪扫商品的条形码,读取商品信息,实现计费功能.主要用到的技术是串口通信,数据库的操作,需要的环境包括:python环境,mysql,python库(serial,MySQLdb)等等. 这个程序的主要过程是:使用扫码仪扫描商品条形码,通过串口通信获取商品条形码,通过该条形码获取商品信息,显示该商品信息并统计总费用.其中商品信息保存在数据库中,可事先导入或者手动导入商品信息,而我的在这里是事先导入的(也可以边扫边倒入信息),导入到数据库中的信息

  • Linux 配置SSH免密登录 “ssh-keygen”的基本用法

    1 什么是SSH 引用百度百科的说明: SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:它是建立在应用层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题. SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台. 为了在不同平台/网络主机之间的通信安全, 很多时候我们都要通过ssh进行认证. ssh认证方式主要有

随机推荐