解决Selenium重复开启浏览器问题

在实际调试selenium自动化程序时,总是需要重新开启浏览器。以下方法解决不断重启浏览器问题。
我们需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单、输入验证码,登陆成功后,然后再开始运行自动化脚本。

这种情况下如何使用selenium来接管先前已打开的浏览器呢?

这里给出Google Chrome浏览器的解决方案。

我们可以利用Chrome DevTools协议。它允许客户检查和调试Chrome浏览器。

打开cmd,在命令行中输入命令:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

可以将其配置在环境变量中
对于-remote-debugging-port值,可以指定任何打开的端口。
对于-user-data-dir标记,指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。
此时会打开一个浏览器页面,我们输入百度网址,我们把它当成一个已存在的浏览器:

现在,我们需要接管上面的浏览器。新建一个python文件,运行以下代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options=Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver=r'C:\Users\xiaofeng\AppData\Local\Google\Chrome\Application\chromedriver.exe'
driver=webdriver.Chrome(chrome_driver,chrome_options=chrome_options)
print(driver.title)

driver.get('http://10.200.9.183:8074/login.koala')

posted @   hisweetyGirl  阅读(5333)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示