使用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 @ 2023-02-03 11:37  Shimmer~~  阅读(4888)  评论(0编辑  收藏  举报