最新:Selenium操作已经打开的Chrome(免登录)
最近重新尝试了一下,之前写的博客内容。重新捋了一下思路。
目的就是,selenium在需要登录的网站面前,可能就显得有些乏力,因此是不是有一种东西,可以操作它打开我们之前打开过的网站,这样就不用登录了。
笔者重新试了一下,大家可以按照我的思路来。如果觉得文章内容太多的,可以从终极版本处看起。
初级版本
你找到桌面的chrome图标->右键,属性

我这目标写着:"C:\Program Files\Google\Chrome\Application\chrome.exe"(这里貌似122版本就没有双引号,不过没啥问题)
这里告诉大家一个内容,chrome默认就是安装在c盘的,大家也就尽量不要去更改它的位置。
我们需要在后面加上(--remote前面有个空格)
--remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"
也就是
--remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"
其中的9527为端口号,可以自己更改
--user-data-dir指定运行浏览器的运行数据,新建一个干净目录,不影响系统原来的数据(这里笔者也试过了,这个目录不需要你创建有具体目录,如果目录不存在,它会帮你创建的)
以前我是让你提前备份好书签栏,不过我这次发现,如果你按上面操作,右键,属性,然后把我刚刚加上去的内容全部删了,然后确认,打开浏览器后,会发现它又变成以前的情况,知道这点后,你就可以无缝切换了,你也可以把相关命令复制到备份中。

我就是把长命令写在备注上,以后直接复制就能进入这个里面,然后可以用selenium进行操作已经打开的chrome。
注意:只要你使用了
--remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"这个模式,你后续一切浏览器操作,他都会保存相应内容到刚刚写的文件中,包括插件。
终极版本
①首先就是之前说的chromedriver版本需要和浏览器适配,然后将chromedriver放到对应chrome相关路径下和python解释器(python.exe)所在的路径中,这是第一步。
②这点和上面的有很大区别,就是其实你只需要在目标后面加上 --remote-debugging-port=9527即可(注意remote前面有个空格),而不需要后面的内容。
--remote-debugging-port=9527
图片如下

解释如下:
- ① --remote-debugging-port=9527定义了远程debug的端口,而代码就是通过这个端口从而实现selenium的连接的,如果没有这个,相当于程序和chrome没有连接起来。自然就不能打开你原先已经打开过的浏览器了。
- ②我在后面测试的时候发现 --user-data-dir="D:\selenium\AutomationProfile"这段代码相当于重新开启一个没有数据的chrome,并将数据存到我设置的路径中(路径可以不存在,因为chrome会自动添加),也就是,不加后面这句话,使用的就是你原先的数据,这样浏览器中你以前的内容就保存了。使用原先的数据可以减少重新配置浏览器内容的工作。
而在代码中,你需要注意下面的端口号需要和上面 --remote-debugging-port=9527定义的端口号一致,127.0.0.1指的是本地机(IP这块我也不太熟)
因此,你保证输入端口一致后,就可以
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsoptions = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
driver = webdriver.Chrome(options=options)# 打印网页title
print(driver.title)
测试一下吧
目前我打开的浏览器是这样的(我安装了插件)

运行代码后,结果正确,

最后测试的时候,发现会有一点问题,见
终极版本的一点点问题
https://blog.csdn.net/knighthood2001/article/details/136590453?spm=1001.2014.3001.5501因此大家最好还是把保存的路径加上,路径设置为一个空的文件夹就行。
相关文章:
最新:Selenium操作已经打开的Chrome(免登录)
最近重新尝试了一下,之前写的博客内容。重新捋了一下思路。 目的就是,selenium在需要登录的网站面前,可能就显得有些乏力,因此是不是有一种东西,可以操作它打开我们之前打开过的网站,这样就不用登录了。 …...
三色标记过程
可达性分析 GC过程中需要对对象图遍历做可达性分析。使用了三色标记法进行分析。 什么三色? 白色:尚未访问过。 黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部访问过了。 灰色:本对象已访问过࿰…...
记录汇川:IO隔离编程
IO隔离:方便程序修改 无论是输入点坏了还是输出点坏了,或者人为接错线,或者对调点,我们只需要更改IO隔离得输入输出就可以了。方便。 停止按钮外接常闭,里面也使用常闭,为了断线检测功能(安全)ÿ…...
【Docker】容器的生态系统
Docker提供了一整套技术支持,包括核心技术、平台技术、支持技术。 核心技术 容器核心技术是指能让Container(容器)在host(集群、主机)上运行起来的那些技术。 1)容器规范:OCI(runt…...
AVL树讲解
AVL树 1. 概念2. AVL节点的定义3. AVL树插入3.1 旋转 4.AVL树的验证 1. 概念 AVL树是一种自平衡二叉搜索树。它的每个节点的左子树和右子树的高度差(平衡因子,我们这里按右子树高度减左子树高度)的绝对值不超过1。AVL的左子树和右子树都是AV…...
20240308-1-校招前端面试常见问题CSS
校招前端面试常见问题【3】——CSS 1、盒模型 Q:请简述一下 CSS 盒模型? W3C 模式:盒子宽widthpaddingbordermargin 怪异模式:盒子宽widthmargin Q:inline、block、inline-block 元素的区别? inline&am…...
linux系统简述docker
简述docker docker理念docker三要素docker平台架构docker运行的基本流程 docker理念 一次镜像,处处运行 基于go语言实现的项目 解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术 能够使硬件、操作系统和应用程序三者…...
【论文阅读】Mamba:选择状态空间模型的线性时间序列建模(一)
文章目录 Mamba:选择状态空间模型的线性时间序列建模介绍状态序列模型选择性状态空间模型动机:选择作为一种压缩手段用选择性提升SSM 选择性SSM的高效实现先前模型的动机选择扫描总览:硬件感知状态扩展 Mamba论文 Mamba:选择状态空间模型的线性时间序列建…...
漏洞复现-蓝凌LandrayOA系列
蓝凌OA系列 🔪 是否利用过 优先级从高到低 发现日期从近到远 公司团队名_产品名_大版本号_特定小版本号_接口文件名_漏洞类型发现日期.载荷格式LandrayOA_Custom_SSRF_JNDI漏洞 LandrayOA_sysSearchMain_Rce漏洞 LandrayOA_Custom_FileRead漏洞...
计算机网络 路由算法
路由选择协议的核心是路由算法,即需要何种算法来获得路由表中的各个项目。 路由算法的目的很明显,给定一组路由器以及连接路由器的链路,路由算法需要找到一条从源路由器到目的路由器的最佳路径,通常,最佳路径是由最低…...
【C++ 学习】构造函数详解!!!
1. 类的6个默认成员函数的引入 ① 如果一个类中什么成员都没有,简称为空类。 ② 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 ③ 默认成员函数:用户没有显式实现&…...
【LeetCode】72. 编辑距离(中等)——代码随想录算法训练营Day55
题目链接:72. 编辑距离 题目描述 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入:w…...
关于手机是否支持h264的问题的解决方案
目录 现象 原理 修改内容 现象 开始以为是手机不支持h264的编码 。机器人chatgpt一通乱扯。 后来检查了下手机,明显是有h264嘛。 终于搞定,不枉凌晨三点起来思考 原理 WebRTC 默认使用的视频编码器是VP8和VP9,WebRTC内置了这两种编码器…...
借助Aspose.html控件,在 Java 中将 URL 转换为 PDF
如果您正在寻找一种将实时 URL 中的网页另存为 PDF文档的方法,那么您来对地方了。在这篇博文中,我们将学习如何使用 Java 将 URL 转换为 PDF。从实时 URL转换HTML网页可以像任何其他文档一样保存所需的网页以供离线访问。将网页保存为 PDF 格式可以轻松突…...
数据结构——堆的应用 堆排序详解
💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…...
Sftp服务器搭建(linux)
Sftp服务器搭建(linux) 一、基本工作原理 FTP的基本工作原理如下: 1)建立连接:客户端与服务器之间通过TCP/IP建立连接。默认情况下,FTP使用端口号21作为控制连接的端口。 2)身…...
Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向
Neo4j安装教程🚀 目前在学习知识图谱的相关内容,在图数据库中最有名的就是Neo4j,为了降低入门难度,不被网上很多华丽呼哨的Cypher命令吓退,故分享出该文档,为自己手动总结,包括安装环境,增删改查…...
PyTorch2.0 环境搭建详细步骤(Nvidia显卡)
Step 1 、查看显卡驱动版本 Step2、下载CUDA 11.7 或者11.8(我自己用的这个)也行,稍后我会贴出来版本匹配对应表 https://developer.nvidia.com/cuda-toolkit-archive Step3、下载CUDNN cuDNN 9.0.0 Downloads | NVIDIA Developer Step4、安装anconda&…...
Python逆向:pyc字节码转py文件
一、 工具准备 反编译工具:pycdc.exe 十六进制编辑器:010editor 二、字节码文件转换 在CTF中,有时候会得到一串十六进制文件,通过010editor使用查看后,怀疑可能是python的字节码文件。 三、逆向反编译 将010editor得到…...
提示词工程技术:类比、后退、动态少样本、自动生成CoT
类比提示 “类比提示”利用类比推理的概念,鼓励模型生成自己的例子和知识,从而实现更灵活和高效的解决问题。 后退提示 “后退提示”专注于抽象,引导模型推导出高级概念和原理,进而提高其推理能力。 使用一个基本的数学问题来…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
