使用selenium接管已打开的浏览器

编写UI自动化代码时经常遇到一个地方需要反复调试的情况,但是每次打开新的浏览器就要把前置用例都执行一遍,浪费时间且没有意义,这时候直接控制已打开的浏览器进行调试就会方便很多。对于需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单、输入验证码,登陆成功后,然后再开始运行自动化脚本的情况也完全可以满足。

一、打开浏览器

将chrome的路径添加到环境变量path里,打开cmd,执行命令:chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_chrome"。执行后会打开一个浏览器页面。

  • -remote-debugging-port:指定任何打开的端口。
  • -user-data-dir:指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。
  • 无头模式加--headless,如:chrome.exe [--headless] --remote-debugging-port=9222 --user-data-dir="D:\selenium_chrome"

二、使用selenium接管已打开的浏览器

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")
  driver = webdriver.Chrome(chrome_options=chrome_options)

java

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
driver = new ChromeDriver(options);
posted @   Shimmer~~  阅读(4999)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示