最新: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 Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
driver = webdriver.Chrome(options=options)

# 打印网页title
print(driver.title)

测试一下吧

目前我打开的浏览器是这样的(我安装了插件)

运行代码后,结果正确,


最后测试的时候,发现会有一点问题,见

终极版本的一点点问题icon-default.png?t=N7T8https://blog.csdn.net/knighthood2001/article/details/136590453?spm=1001.2014.3001.5501因此大家最好还是把保存的路径加上,路径设置为一个空的文件夹就行。 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北漂程序员整理阿里云服务器地域机房所在城市表

2024年最新阿里云服务器地域分布表,地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分,例如华北2(北京)地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

创建数据表

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 如果要进行数据表的创建 create table 表名称 (列名称 类型 [DEFAULT 默认值 ] ,列名称 类型 [DEFAULT 默认值 ] ,列名称 类型 [DEFAULT 默认值 ] ,...列名称 类型 [DEFAULT 默认值 ] )…

鸿蒙应用开发学习:使用视频播放(Video)组件播放视频和音频文件

一、前言 播放音视频是手机的重要功能之一,近期我学习了在鸿蒙系统应用开发中实现音视频的播放功能,应用中使用到了视频播放(Video)组件,ohos.file.picker(选择器)。特撰此文分享一下我的学习经历。 二、参考资料 本…

详解Linux例行性工作

例行性工作(计划任务) 场景: 生活中,我们有太多场景需要使用到闹钟,比如早上7点起床,下午4点开会,晚上8点购物,等等。再Linux系统里,我们同样也有类似的需求。比如我们…

创新企业成长模型:嘉绩咨询深化招商教育与系统策划

在当今企业发展与市场拓展的竞争激烈背景下,嘉绩咨询已凸显其在招商体系孵化领域的领先地位。集团不仅在招商教育、招商落地支持、陪跑孵化及渠道商学院搭建等业务领域提供全面的服务,同时构筑了与众不同的企业成长循环模型。 嘉绩咨询秉承其"教育策…

四、DMSP/OLS等夜间灯光数据贫困地区识别——相对误差相关折线图制作

一、前言 前文对于MPI和灯光指数拟合、误差分析,本文重点介绍地理加权分析,但是在此之前给大家介绍一下专业表格制作,其实专业的软件有很多像Orgin、棱镜等,到我们熟知的Excel,其实各有千秋,Excel入手容易…

软件杯 交通目标检测-行人车辆检测流量计数 - 软件杯

文章目录 0 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计…

mtk平台ATF介绍

1、链接地址 uboot ATF 2、工具链 ARM 64位平台需要aarch64工具链,可以在staging_dir/toolchain- aarch64_xxxxx中找到。另外dtc工具来为ATF编译.dts文件,一般在 Ubuntu中的device-tree-compiler包,编译后的u-boot/kernel源代码树中的脚本…

设计模式(工厂模式)

设计模式(工厂模式) 一、工厂模式介绍 在工厂模式中,父类决定生成示例的方式,但不决定所要生成的具体的类,具体的处理部分交给子类负责。这样就可以将生成示例的框架和生成示例的类解耦。 二、示例程序 以下示例程…

[壹],安卓开发环境搭建

1,下载JDK并安装 网址: Java Downloads | Oracle 下载完成,安装到自定义位置。 2,设置系统环境变量 2.1,新建环境变量JAVA_HOME 2.2,Path环境变量追加 %JAVA_HOME%\bin 2.3,验证安装效果 3,…

error Mixed spaces and tabs no-mixed-spaces-and-tabs报错

vue尚硅谷todolist案例 中报错如下: ERROR Failed to compile with 1 error 21:18:11 Module Error (from ./node_modules/eslint-loader/index.js): F:\文件\网页文件\code\source\vu…

UCRTBASED.DLL缺失怎么办?UCRTBASED.DLL文件的解决方法分享

UCRTBASED.DLL 是一个属于Microsoft Universal C Runtime (UCRT) 的动态链接库(DLL)文件。在Windows操作系统中,这个文件提供了一系列C和C标准库函数的实现,这些函数对于支持基于C或C开发的应用程序至关重要。 UCRT是微软为了统一…

揭秘:我的GPTs广告项目到底挣了多少银子?

写在前面 🌟 之前分享了GPTs接入广告赚取收益的项目保姆级教程: GPTs接入广告到提现成功全过程真实记录 ,很多粉丝朋友问,我GPTs广告项目,一共赚了多少钱,现在还能入场吗? 这篇文章,就来总结一下…

【web | CTF】BUUCTF [强网杯 2019]随便注

天命:这题考点有两个,第一个是闭合,第二个是叠堆注入 先探测一下是不是单引号闭合,其实我一开始以为是没有引号闭合的,毕竟是数字 经过测试,的确是单引号闭合 然后探测未知的东西,我习惯性直接…

雷卯的ESD管SDA3311DN可以替代AZ5883-01F ---国产化替代篇

已经有很多客户选用雷卯的 SDA3311DN替代Amazing的 AZ5883-01F,客户可以获得更好的价格和更快的交期。 SDA3311DN主要应用于对3.3V供电的静电浪涌防护等,特别是在一些受空间所限的小电子设备很受青睐。 雷卯的SDA3311DN优势: IPP大(65A) &…

【Python】Python Astar算法生成最短路径GPS轨迹

简介 最短路径问题是计算机科学中一个经典问题,它涉及找到图中两点之间距离最短的路徑。在实际应用中,最短路径算法用于解决广泛的问题,例如导航、物流和网络优化。 步骤 1:加载道路网络数据 要计算最短路径,我们需…

WebSocket:实现客户端与服务器实时通信的技术

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【分库分表】基于mysql+shardingSphere的分库分表技术

目录 1.什么是分库分表 2.分片方法 3.测试数据 4.shardingSphere 4.1.介绍 4.2.sharding jdbc 4.3.sharding proxy 4.4.两者之间的对比 5.留个尾巴 1.什么是分库分表 分库分表是一种场景解决方案,它的出现是为了解决一些场景问题的,哪些场景喃…

ERC20学习

ERC20简介 ERC20是一种代币标准,用于创建可替代的代币。 ERC20是在以太坊网络上实现的代币标准,它为数字资产或代币定义了一套规则和接口。这些符合ERC20标准的代币在性质上是完全相同的。即每一个代币都可以被另一个同类型的代币替代,这种属…

数据结构——线性表顺序表示详解

目录 1.线性表的类型定义 2.基本操作 3.线性表的存储结构 4.补充 1.元素类型说明 2.数组定义​编辑 3.c语言的内存动态分配 4.c的动态存储分配 5.c中的参数传递 引用类型作参数 6.顺序表基本操作的实现 1.线性表的初始化 代码示例: 2.销毁线性表&…