Selenium基础 — 拓展:使用浏览器加载项配置实现用户免登陆

news2025/1/17 9:00:27

1、什么是加载项配置

在很多情况下,我们在登录网站的时候,浏览器都会弹出一个是否保存登录账号的信息。如果我们选择保存,那么我们在下次登录时就不用再次输入账号,直接免登录了。

在我们实际的测试过程中,测试注册登录只是其中的一部分流程,然而我们用selenium打开网站的时候,每次都需要重新登录,就非常麻烦。那么在selenium中能不能实现免登陆操作?

当然是可以的,只需要对要打开的浏览器做加载项配置就可以了。

说明一下为什么selenium每次代开网站都需要重新登录。

使用selenium的webdriver打开的浏览器的时候,是用脚本去打开浏览器的。其实是重新打开了一个进程,跟手动打开浏览器不是一个进程,所以一些信息不会被记录进去。

2、加载Firefox配置

说明:

Firefox浏览器加载浏览器配置,需要用FirefoxProfile(profile_directory)这个方法创建一个配置类。

profile_directory即为浏览器配置文件的路径地址。

怎样找到profile_directory?

打开Firefox浏览器点右上角设置>?(帮助)>故障排除信息>显示文件夹

到如下图界面:

示例:

"""
1.学习目标:
    了解使用火狐浏览器实现免登陆
2.操作步骤
    1.手动登录网站,点击记住密码
    2.找火狐浏览器配置文件夹
        火狐浏览器--->设置--->帮助--->故障排除信息--->配置文件夹
        将文件夹路径复制保存
    3.将配置文件夹路径保存到代码
        profile_directory = 配置文件夹路径
    4.实例webdriver中的火狐浏览器profile
        profile = webdriver.FirefoxProfile(firefox_profile=配置文件夹路径)
    5.启动火狐浏览器,并传入配置信息
        driver = webdriver.Firefox(profile)
    6.打开可以免登陆的地址
        driver.get(网站)
3.需求
    使用火狐浏览器实现163邮箱免登陆
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep

# 2.找火狐浏览器配置文件夹
# 火狐浏览器--->设置--->帮助--->故障排除信息--->配置文件夹

# 3.将配置文件夹路径保存到代码
# 如果不加r,路径中的\都要换成\\
profile_directory = r"C:\Users\L\AppData\Roaming\Mozilla\Firefox\Profiles\6pv0pces.default"

# 4.实例webdriver中的火狐浏览器profile
profile = webdriver.FirefoxProfile(profile_directory)

# 5.启动火狐浏览器,并传入配置信息
driver = webdriver.Firefox(firefox_profile=profile)

# 6.打开可以免登陆的地址
driver.get("http://mail.163.com/")
sleep(5)

# 7.关闭浏览器
driver.quit()

3、加载Chrome配置

与Firefox浏览器原理相同,在Chrome浏览器中也可以实现。

不过有的版本实现不了。

环境:

  • 系统环境:windows10
  • Python版本:3.7.7
  • Chrome浏览器版本:74.0.3729.131(正式版本) (32 位)

操作步骤:

  1. 获取个人资料路径

    # Chrome安装路径
    user-data-dir='C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\'
    

    注意:这里User Data目录,有很多人是找不到了,可能就无法实现了。

  2. 加载配置数据

    # 配置谷歌浏览器加载项
    options = webdriver.ChromeOptions()
    options.add_argument(user_data_dir)
    
  3. 将加载项配置到启动浏览器中

    driver = webdriver.Chrome(options=options)
    

示例:

"""
1.学习目标
    了解使用谷歌浏览器实现账号免登陆
2.操作步骤(语法)
    2.1 手动登录网站,点击记住密码
    2.2 找到谷歌浏览器个人资料路径
        一定要注意格式:
        user_data_dir =
        '--user-data-dir=C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\'
    2.3 配置谷歌浏览器加载项
        option = webdriver.ChromeOptions()
        option.add_argument(路径)
    2.4 打谷歌浏览器并且传入options
        driver=webdriver.Chrome(options=options)
    2.5 打开可以免登陆的地址
        driver.get(网站)
3.需求
    使用谷歌浏览器实现163邮箱免登陆
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep

# 2.获取谷歌浏览器个人资料路径
user_data_dir = r"--user-data-dir=C:\Users\L\AppData\Local\Google\Chrome\User Data"

# 3.配置谷歌浏览器加载项
options = webdriver.ChromeOptions()
options.add_argument(user_data_dir)

# 4.打开谷歌浏览器并且传入options
driver = webdriver.Chrome(options=options)

# 5.打开可以免登陆的地址
driver.get("http://mail.163.com/")
sleep(5)

# 6.关闭浏览器
driver.quit()

注意:

在适用上面脚本实现使用谷歌浏览器实现账号免登陆的时候,要关闭所有打开的谷歌浏览器窗口才能正常启动。

否则会报错:InvalidArgumentException:无效参数异常。

最后我这里给你们分享一下我所积累和真理的文档和学习资料有需要是领取就可以了

1、学习思路和方法

这个大纲涵盖了目前市面上企业百分之99的技术,这个大纲很详细的写了你该学习什么内容,企业会用到什么内容。总共十个专题足够你学习

2、想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件....

4、有了安装包和学习资料,没有项目实战怎么办,我这里都已经准备好了往下看

最后送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统运维利器,百万服务器运维实战总结!一文了解最新版SysAK|龙蜥技术

在刚刚结束的龙蜥峰会 eBPF & Linux 稳定性专场上,龙蜥系统运维 SIG Maintainer 张毅做了《SysAK 系统运维工具集》的主题演讲,以下为演讲实录。 大家好,在去年的云栖大会,我们在龙蜥社区开源了系统运维工具集 SysAK&#xff…

new Vue的时候到底做了什么

Vue加载流程 1.初始化的第一阶段是Vue实例也就是vm对象创建前后:首先Vue进行生命周期,事件初始化发生在beforeCreate生命周期函数前,然后进行数据监测和数据代理的初始化,也就是创建vm对象的过程,当vm对象创建完成就可…

【Linux】gcc的使用

文章目录一、前言二、gcc的基本使用1. 预处理2. 编译3. 汇编4. 链接三、函数库四、gcc常用选项总结一、前言 在学习本文前,我们先简单回顾一下源代码被转换为可执行的机器指令的每个过程: 预处理(进行宏替换)编译(生成汇编)汇编…

windows什么录屏软件好用,windows屏幕录制软件

大部分人的电脑都是windows电脑,所以很多人都在找适合windows系统的录屏工具,windows什么录屏软件好用?我们到底该选择哪个录屏工具呢?今天我们就来给大家介绍windows版本的录屏工具。 一、易我录屏助手 这个工具很多人都比较熟悉…

艾美捷人重组MEGACD40L蛋白(可溶性)实例展示

艾美捷人重组MEGACD40L蛋白(可溶性)是一种高活性蛋白质,其中两个三聚体CD40配体分子通过脂联素/ACRP30/AdipoQ的胶原结构域人工连接。这种蛋白质非常有效地模拟体内CD40L的自然膜辅助聚集。 艾美捷人重组MEGACD40L蛋白(可溶性&…

openEuler快速入门(二)-openEuler命令行基础操作

系列文章目录 第一章 openEuler快速入门(一)-openEuler操作系统介绍 文章目录系列文章目录前言一、shell是什么二、Linux命令行操作技巧三、基础命令3.1、Linux命令分类3.2、目录和文件3.2.1 相对路径和绝对路径3.2.2 处理目录的常用命令ls:cd:pwd&…

供应N3-PEG-COOH,Azide-PEG-acid,叠氮-聚乙二醇-羧基可增加溶解度

一:产品描述 1、名称 英文:Azide-PEG-acid,N3-PEG-COOH 中文:叠氮-聚乙二醇-羧基 2、CAS编号:N/A 3、所属分类:Azide PEG Carboxylic acid PEG 4、分子量:可定制,1000、2000、…

搭建Redis -Sentinel架构

准备服务器 master节点:192.168.1.121 从节点1:192.168.1.122 从节点2:192.168.1.123 安装详细步骤 1、下载安装包 https://redis.io/download/ 2、进入工作目录 $cd /home 3、解压安装包 $tar -zxvf redis-6.2.6.tar.gz 4、建立软连接 $l…

OpenCV_06 图像平滑:图像噪声+图像平滑+滤波

文章目录1 图像噪声1.1 椒盐噪声1.2 高斯噪声1.3 瑞利噪声1.4 伽马噪声1.5 指数噪声1.6 均匀噪声2 滤波器2.1 均值滤波器2.1.1 算数平均值滤波器2.1.2 几何均值滤波器2.1.3 谐波平均滤波器2.1.4 反谐波平均滤波器2.2 统计排序滤波器2.2.1 中值滤波器2.2.2 最大值滤波器2.2.3 最…

翻开spring源码横看竖看,满屏只有四个字,看不懂啊。幸好我有大神的深度剖析spring源码,轻松看懂

前言 有一天,我翻开源码横看竖看,满屏只看到四个字,我看不懂啊。 所以是不是曾和我一样迷失在毫无头绪的源码里,在各种类和方法里翻山越岭,却如同管中窥豹。是的话,要不今晚早点睡? 呸&#x…

前端学习路线(二)

在前端学习路线(一)一章中我们讲了关于前端三剑客和jq与js的问题,并且简要的说明了js高级是什么,那在本章节我们主要从如何学习js高级开始进行讲述,并对es6如何学习,bootstrap学不学和学什么,并…

Tomcat部署及优化

目录 一. Tomcat的介绍 1.2 Tomcat核心组件 1.2.1 核心组件的作用 1.3 servlet简介 1.4 JSP介绍 1.5 Tomcat功能组件结构 1.6 Tomcat请求过程 二.Tomcat服务部署 2..2 安装JDK​编辑​编辑​编辑 2.3 设置JDK环境变量​编辑​编辑 2.5 优化tomcat启动速度 2.6 tom…

【JavaScript】制作一个抢红包雨页面

开发H5项目,有时会遇到一个需求,需要制作抢红包,或者下红包雨的网页,这个实现步骤,如果拿现成的改来做是容易的,但是想着全靠自己做是不容易的,接下来开始讲,想不想自己做&#xff0…

嵌入式开发学习之--点亮LED灯(下)

上篇我们主要学习的是环境搭建和实际操作,这篇详细记录一下整个思考的过程。 首先,我们需要想一个问题,这个灯为什么会亮? 物理上来说,LED灯属于发光二极管,只要有正确的电压就会发亮。也就是说&#xff…

01 DevOps 之 Git 命令使用

1. 前言 由于项目没有外网,需要在内网打镜像。但自己对git 还不是太熟悉。看着pipline 一脸懵逼。所有针对git 命令在工作中常用的参数及用法简单学习记录下。因为git 是DevOps中的编码的一部分,下面先介绍下DevOps整体的框架。 1.1 DevOps介绍 DevOp…

Linux-磁盘分区,挂载

Linux分区 Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成文件系统的一部分 Linux采用了一种载入的处理方法,它的整个文件系统包含了…

智能运维应用之道,告别企业数字化转型危机

面临的问题及挑战 数据中心发展历程 2000 年中国数据中心始建,至今已经历以下 3 大阶段。早期:离散型数据中心 IT 因以项目建设为导向,故缺乏规划且无专门运维管理体系,此外,开发建设完的项目均是独立运维维护&#…

rust编程初探-猜数游戏(chapter 2)

目录 1. 创建项目 2. 猜数的输入 3. 随机数生成 3.1 rand库依赖 3.2 随机数生成 4. 猜数和随机数的比对 4.1 std::cmp::Ordering类型 4.2 match表达式(expression) 4.3 输入类型的转换 5. 支持多次猜测(使用循环) 6. 错…

MySql学习之慢SQL优化和慢SQL案例

一、慢SQL优化思路 慢查询日志记录慢SQLexplain查询SQL的执行计划profile分析执行耗时Optimizer Trace分析详情 1、慢查询日志记录慢SQL show variables like slow_query_log%; show variables like long_query_time;查看下慢查询日志配置,我们可以使用show vari…

对MMVAE中IWAE代码实现的理解

原始的IWAE 优化目标: LIWAE(x1:M)Ez1:K∼qΦ(z∣x1:M)[log⁡∑k1K1KpΘ(zk,x1:M)qΦ(zk∣x1:M)](1)\mathcal{L}_{\mathrm{IWAE}}\left(\boldsymbol{x}_{1: M}\right)\mathbb{E}_{\boldsymbol{z}^{1: K} \sim q_{\Phi}\left(\boldsymbol{z} …