Selenium中免登录的实现方法一option

在selenium中有很多种可以实现网站的免登录,option就是其中的一种做法。

学员在VIP自动化课程中多有涉及。

1. 准备工作

  • 打开一个网站(此处以https://www.processon.com/为例)

  • 手工登录

  • 关闭

  • 重开该网站发现已经登录好了(这样的操作在很多网站都实现了,记住了你的用户数据)

  • 退出所有的浏览器(有的情况下关闭了进程还在,需要结束,可以用taskkill或者任务管理器中结束)

2. 代码实现

from selenium import webdriver
option = webdriver.ChromeOptions()
user_data_dir = r'C:\Users\songqin008\AppData\Local\Google\Chrome\User Data'
option.add_argument(f'--user-data-dir={user_data_dir}')
driver = webdriver.Chrome(options=option)
driver.get('https://www.processon.com/')

3. 用户数据获取方法

  • 此处以chrome浏览器为例,firefox或其他浏览器并不一样

  • 在地址栏中输入chrome://version,获取其个人资料路径的值,注意最后的Default要抛弃掉

    Google Chrome	108.0.5359.99 (正式版本) (64 位) (cohort: Stable)
    修订版本 aa99c50ebc03bd334a4a8f11e99ab6fb5e0adf78-refs/branch-heads/5359_71@{#8}
    操作系统 Windows 10 Version 21H2 (Build 19044.2251)
    JavaScript V8 10.8.168.21
    用户代理 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
    命令行 "C:\Program Files\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end
    可执行文件路径 C:\Program Files\Google\Chrome\Application\chrome.exe
    个人资料路径 C:\Users\songqin008\AppData\Local\Google\Chrome\User Data\Default
    使用中的变体 cdb6e83c-b4779eec
    df319cb2-ca7d8d80

4. 说在最后

  • option的用法很多,后面会单独开个文章来讲述
  • firefox用的是profile文件,操作方法不尽相同,此处不赘述,有兴趣的同学可以自己了解下
  • mac环境下有遇到过失效的情况,没有环境不好分析为何
  • 强调下前提的重要性
    • 准备工作很重要
    • 你要保证你手工打开网站是已登录的情况(如果你退出,用户资料里面就没有了)
    • 你应该退出浏览器进程,不然会占用数据

Selenium中免登录的实现方法一option的更多相关文章

  1. 登录操作(方法一:设置flag标志位)

    登录操作(方法一:设置flag标志位) user_name="star"passwoed='123'passed_authentication=Falsecount=0for i ...

  2. centos6.5下oracle11g开机自动启动方法一

    转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二  https://blog.csdn.net/wx504025 ...

  3. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系

    XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...

  4. JBOSS通过Apache负载均衡方法一:使用mod_jk

    JBOSS通过Apache负载均衡方法一:使用mod_jk   本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负 ...

  5. mybatis由浅入深day02_2一对一查询_2.2方法一:resultType

    2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用 ...

  6. 4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)

    代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 16:13:52 2018 @author: a " ...

  7. 3 使用selenium模拟登录csdn

    之前通过F12开发者模式调试,获取网站后台服务器验证用户名和密码的URL之后,再构造post数据的方式会存在一个问题,就是对目标网站的验证机制不明确,构造post数据除了用户名和密码之外,还可能有更复 ...

  8. selenium(python)登录时账号密码错误提示语

    selenium(python)登录时账号密码错误提示语的获取 可以用text

  9. 头像文件上传 方法一:from表单 方法二:ajax

    方法一:from表单 html 设置form表单,内包含头像预览div,内包含上传文件input 设置iframe用来调用函数传参路径 <!--表单提交成功后不跳转处理页面,而是将处理数据返回给 ...

  10. vue抽取公共方法———方法一

    方法一:Vue插件 1.概述 作用:满足vue之外的需求,特定场景的需求 比如说,让你在每个单页面组件里,都可以调用某个方法(公共方法),或者共享某个变量等 2.使用方法 [声明插件]- [写插件]- ...

随机推荐

  1. 一个超经典 WinForm 卡死问题的再反思

    一:背景 1.讲故事 这篇文章起源于昨天的一位朋友发给我的dump文件,说它的程序出现了卡死,看了下程序的主线程栈,居然又碰到了 OnUserPreferenceChanged 导致的挂死问题,真的是 ...

  2. 嵌入式-C语言基础:指针函数

    指针函数:返回指针的函数,即函数返回一个地址.例如:int * a(int x,int y);由于()的优先级比*高,因此a先与()结合,a(int x,int y)显然是一个函数,函数前面带一个in ...

  3. 嵌入式-C语言基础:函数指针

    定义函数地址:如果在程序中定义了一个函数,那么在编译的时候,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(也叫入口地址)称为这个函数的地址. 和数组一样,数组名代表地址,而函数名表示函数 ...

  4. tomcat报Address localhost:1099 is already in use

    idea运行tomcat报Address localhost:1099 is already in use 解决方案: 电脑桌面->ctrl+shift+esc 打开任务管理器,选择详细信息,找 ...

  5. .NET复习总纲

    以下是自己学习遇到比较好的课程和学习网站,如果大家有更好的课程推荐,可以打在评论区或者私聊我,让我也进行学习和补充进文档 一..NET基础 官方文档:https://learn.microsoft.c ...

  6. Java-(array)数组的基本概念 及 Java内存划分

    (array)数组的基本概念 数组的概念:是一种容器,可同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长度在程序运行期间不可改变 数组的 ...

  7. day33 过滤器filter & 监听器listener & 利用反射创建BaseServlet实现调用自定义业务方法

    Filter过滤器 Fileter可以实现: 1)客户端的请求访问servlet之前拦截这些请求,对用户请求进行预处理 2)对HttpServletResponse进行后处理: 注意 多个Filter ...

  8. python字符串常用方法介绍,基于python3.10

    python字符串常用方法-目录: 1.strip().lstrip().rstrip()2.removeprefix().removesuffix()3.replace()4.split().rsp ...

  9. 【Shell案例】【awk、grep、sort、uniq】10、第二列是否有重复

    给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个shell脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息:实例:20201001 python 9 ...

  10. day07-功能实现06

    家居网购项目实现06 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 14.功能13-首页分页 14.1需求分析/图解 顾客进入 ...