[Web自动化] Selenium浏览器复用 📅 发布时间:2026/7/2 19:24:27 👁️ 浏览次数: 10.16 Selenium浏览器复用在使用selenium进行自动化测试中我们有时会遇到这样的情况我们需要手动打开浏览器进入到所需的页面执行一些手动任务如输入表单、输入验证码登陆成功后然后再开始运行自动化脚本。这种情况下如何使用selenium来接管先前已打开的浏览器呢这里给出Google Chrome浏览器的解决方案。我们可以利用Chrome DevTools协议。它允许客户检查和调试Chrome浏览器。10.16.1 方法一通过谷歌浏览器的debug模式1、打开cmd在命令行中输入命令并运行以便打开一个用于测试的谷歌浏览器。方式一通过cmd命令的方式启动测试的谷歌浏览器chrome.exe --remote-debugging-port9222 --user-data-dirC:\selenum\AutomationProfile说明-remote-debugging-port指定一个未被其它程序占用的端口。-user-data-dir指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome不会污染你的默认配置文件。进入cmd使用命令telnet 127.0.0.1 9222如果能telnet通则意味着python程序可以接管了在环境变量中PATH里将chrome的路径添加进去。方法二通过Python脚本来打开谷歌浏览器的debug模式importos os.system(rstart chrome.exe --remote-debugging-port9222 --user-data-dirC:\selenium\AutomationProfile)# 一定要添加start否则会一直卡住方式三通过修改命令参数启动测试的谷歌浏览器新建一个chrome.exe的快捷方式将--remote-debugging-port9222 --user-data-dirC:\selenum\AutomationProfile作为启动参数添加到快捷方式里去。这样就可以通过双击这个谷歌浏览器快捷方式直接打开并进入到debug模式。当然方式三也可以结合到方式二里即将start命令后面的部分(带启动参数的谷歌浏览器)改成chrome.lnk即可。2、此时会打开一个浏览器页面我们输入百度网址我们把它当成一个已存在的浏览器。现在我们需要接管上面的浏览器。新建一个python文件运行以下代码fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptions chrome_optionsOptions()chrome_options.add_experimental_option(debuggerAddress,127.0.0.1:9222)chrome_driverC:\Program Files (x86)\Google\Chrome\Application\chromedriver.exedriverwebdriver.Chrome(chrome_driver,chrome_optionschrome_options)print(driver.title)会发现打印出了百度一下你就知道的网页标题。这样我们就实现了对一个已打开的浏览器的控制。更多需求可以自己在此基础上进行修改。10.16.2 方法二使用attach_to方法Selenium 4Selenium 4 引入了attach_to方法可以用来连接到一个已经运行的浏览器实例fromseleniumimportwebdriverfromselenium.webdriver.chrome.serviceimportServicefromselenium.webdriver.chrome.optionsimportOptions serviceService(executable_pathpath/to/chromedriver)chrome_optionsOptions()service.start()# 假设Chrome已经以调试模式启动driverwebdriver.Chrome(serviceservice)# 使用attach_to方法连接到已经打开的浏览器# 这需要知道Chrome的调试端口和PIDdriver.attach_to(port9222,pidchrome_pid)# chrome_pid是Chrome进程的IDdriver.get(http://www.example.com)注意事项浏览器复用需要浏览器支持调试协议并且正确配置了调试参数。确保使用的Selenium库版本与浏览器版本兼容。连接到已打开的浏览器实例可能需要额外的权限或配置。在使用attach_to方法时需要知道浏览器的调试端口和进程ID。通过上述方法你可以实现Selenium中的浏览器复用这有助于减少资源消耗并在某些场景下提高测试效率。
研发费用管理“避坑”实战:我们如何用低代码平台将高企合规成本降低60% 研发费用管理“避坑”实战:我们如何用低代码平台将高企合规成本降低60%导读:2026年,高新技术企业复审不通过率突破30%,研发费用加计扣除稽查补税案例同比增长200%。在这场“合规风暴”中,一家年研发投入3000万元的装备… 2026/5/17 4:35:03
水库水质自动监测站 水库水质在线监测站的核心定位是什么?为什么能实现“全参数全天候全自动”监测?答:核心定位是水库全要素全自动水质在线监测终端,主打“全参数感知、全天候运行、全自动运维、全方位覆盖”,专为水库水质监测、水情管理… 2026/5/17 4:35:03
施耐德UPS主机SURT1000XLI-CH 施耐德UPS主机SURT1000XLI-CH是一款高性能的在线式不间断电源设备,广泛应用于服务器、网络设备及关键业务系统中,具备稳定的电力保护和智能化管理功能。一、结构设计特点机架塔式可转换结构SURT1000XLI-CH采用2U标准机架设计,支持机架式或塔式… 2026/5/17 4:35:02
2026年口碑炸裂的展厅设计公司,选这家就对了 在瞬息万变的市场中,如何让品牌在激烈的竞争中脱颖而出?答案很简单:打造一个让人过目不忘的展厅空间。但现实是,大多数企业主在寻找展厅设计公司时,往往陷入“看案例、比价格、拍脑袋”的怪圈。结果呢?花了… 2026/7/3 16:04:15
YOLO目标检测实战:从环境配置到模型训练的全流程指南 1. 从“保姆级”到“能跑通”:YOLO学习的第一道坎 看到“保姆级教程”和“2小时学透”这样的标题,很多新手会以为跟着步骤走一遍就能掌握YOLO。但真实情况是,很多人卡在了第一步:环境装不上,或者代码跑不起来。这背后… 2026/7/3 16:02:11
IS31FL3731 LED驱动芯片与STM32F405ZG集成方案详解 1. IS31FL3731 LED驱动芯片的核心特性解析 IS31FL3731是一款专为LED矩阵显示设计的I2C接口驱动芯片,其核心价值在于实现了144个LED(16x9阵列)的独立PWM控制。这款芯片采用Charlieplexing技术,仅需少量IO引脚即可驱动大量LED&#… 2026/7/3 16:00:11
如何快速掌握SPAdes:生物信息学新手的完整基因组组装指南 如何快速掌握SPAdes:生物信息学新手的完整基因组组装指南 【免费下载链接】spades SPAdes Genome Assembler 项目地址: https://gitcode.com/gh_mirrors/sp/spades SPAdes基因组组装工具是生物信息学领域最强大的测序数据分析解决方案之一,专为细… 2026/7/3 16:00:11
DC-DC降压转换与I2C可编程电源设计实战 1. 项目背景与核心器件选型 在嵌入式电源设计中,DC-DC降压转换是基础但关键的技术环节。本项目采用171010550(推测为某DC-DC控制器型号)与PIC24F16KA102单片机组合方案,通过I2C总线实现可编程电源管理。这种架构在便携式设备、IoT… 2026/7/3 16:00:10
3个理由让你爱上Digital-Logic-Sim:从门电路到CPU的数字电路学习神器 3个理由让你爱上Digital-Logic-Sim:从门电路到CPU的数字电路学习神器 【免费下载链接】Digital-Logic-Sim 项目地址: https://gitcode.com/gh_mirrors/di/Digital-Logic-Sim Digital-Logic-Sim是一款基于Unity引擎开发的开源数字逻辑电路模拟器,… 2026/7/3 15:58:09
如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的游戏剧情?面对日… 2026/7/3 0:01:58
3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址… 2026/7/3 0:05:59
2026江苏三维扫描仪定制厂家:一条很现实的分水岭——“会用”和“用对” 在江苏制造业的三维扫描项目里,有一个很容易被忽略的分界线: 👉 会用设备,不等于用对设备。 尤其在江苏GOM三维扫描仪定制厂家、江苏蔡司3D扫描仪定制厂家项目中,这条分界线会直接决定系统最终是“工具”,还… 2026/7/3 0:07:59