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. 二叉搜索树 - C++ 实现

    二叉搜索树 - C++ 实现 概述 Overview 二叉查找树(英语:Binary Search Tree, 后文中简称 BST), 也称为二叉搜索树.有序二叉树(ordered binary tr ...

  2. WIN10使用SSH连接VMWare16 Pro的CentOS8.4(保姆级)

    目录 本机环境 配置连接 本机环境 连接工具用的是MobaXterm,下载地址https://mobaxterm.mobatek.net/download.html VMWare16 Pro Cent ...

  3. mindxdl--common--errs.go

    // Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.// Package common the error ...

  4. redis五种数据结构详解

    5.相关介绍和命令 5. redis是单线程+多路io复用技术 多路复用是指使用一个线程来检查多个文件描述符的就绪状态,比如调用select和poll函数,传入多个文件毛舒服,如果有一个文件描述符就绪 ...

  5. Codeforces Round #835 (Div. 4) A-G

    比赛链接 A 题意 给出三个不同的数,求中位数. 题解 知识点:模拟. 显然. 时间复杂度 \(O(1)\) 空间复杂度 \(O(1)\) 代码 #include <bits/stdc++.h& ...

  6. MySQL JDBC驱动版本与数据库版本的对应关系及注意事项

    MySQL JDBC驱动版本与数据库版本的对应关系及注意事项 事情发生 学了三遍的servlet,经典老师又教的第一万遍登陆注册,并且让实现,并且让演示,我们老师可能和之前的小学期公司老师 完全没有沟 ...

  7. 7 STL-deque

    ​ 重新系统学习c++语言,并将学习过程中的知识在这里抄录.总结.沉淀.同时希望对刷到的朋友有所帮助,一起加油哦!  生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦! 写在前面,本篇章主要介绍S ...

  8. day 19 分组查询 & having和where区别

    day19 分组查询group by having用法 用于分组关键字(group by)后面 用于对分组之后的结果集进行筛选 having关键字后面可以使用聚合函数 having和where的区别 ...

  9. MyBatis03:连接池及事务控制、xml动态SQL语句、多表操作

    今日内容: mybatis中的连接池.事务控制[原理了解,应用会用] mybatis中连接池的使用及分析 mybatis中事务控制的分析 mybatis中基于xml配置的动态SQL语句使用[会用即可] ...

  10. 【论文解读】NIPS 2021-HSWA: Hierarchical Semantic-Visual Adaption for Zero-Shot Learning.(基于层次适应的零样本学习)

    作者:陈使明 华中科技大学