selenium如何接管(控制)已打开Chrome浏览器

本文介绍了如何在Windows系统上利用Selenium自动化测试,通过CMD切换到Chrome浏览器路径,设置远程调试端口,打开浏览器并访问特定网址。接着,放入对应的chromedriver,并编写Python代码,通过CSS选择器定位并输出“百度一下”标签元素。这个过程展示了Selenium在网页自动化测试中的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、目标

使用selenium接管已经打开的Chrome浏览器,并以百度网站为例,输出“百度一下”标签元素。
注:我的终端是windows系统,适用于windows系统

二、实现步骤

1. 首先用cmd命令切换到终端安装Chrome的路径

  • 下面是我的终端chrome安装路径,不同终端安装可能不一样,若是不一样,则右键“Google Chrome快捷方式”-----点击“打开文件位置(I)”即可看到。
cd C:\Users\Administrator\AppData\Local\Google\Chrome\Application

2.其次输入以下下命令

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

输入后会打开chrome浏览器,如下
在这里插入图片描述

3. 再次在打开的浏览器中输入网址
(比如 https://www.baidu.com/)

在这里插入图片描述

4. 然后新建一个文件夹,将与您终端版本匹配的chromedriver驱动器放在文件夹中,如下
在这里插入图片描述
注:若不知chromedriver下载地址的,请参考https://blog.youkuaiyun.com/xue_11/article/details/125241682

5. 运行demo.py中代码

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就是当前浏览器窗口
chrome_driver = r"./chromedriver.exe"
driver = webdriver.Chrome(chrome_driver,options=chrome_options)

# 打印”百度一下“标签元素
print(driver.find_element_by_css_selector('span[class="bg s_btn_wr"]>#su').get_attribute('outerHTML'))

运行结果

<input type="submit" id="su" value="百度一下" class="bg s_btn">
Selenium是一个流行的自动化测试工具,用于控制浏览器操作,包括打开特定的网页。在Windows环境下,如果你想通过SeleniumChrome浏览器中运行任务并隐藏CMD窗口,你可以使用Python的`subprocess`模块结合ChromeDriver(Selenium WebDriver的一个实现,专门针对Chrome浏览器)来实现这个过程。 首先,你需要安装selenium、webdriver_manager(管理ChromeDriver的库)和pywin32(处理Windows API): ```bash pip install selenium webdriver_manager pywinauto ``` 然后,编写一个Python脚本,例如: ```python from selenium import webdriver import subprocess # 使用webdriver_manager下载最新的ChromeDriver并自动设置环境变量 from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install()) # 设置Chrome选项,隐藏命令行窗口 options = webdriver.ChromeOptions() options.add_argument('--headless') # 隐藏UI options.add_argument('--disable-gpu') # 可能需要防止图形错误 options.add_experimental_option('excludeSwitches', ['enable-logging']) # 关闭日志输出 # 实例化隐藏CMD窗口的驱动 driver = webdriver.Chrome(chrome_options=options) # 执行你要的操作,比如打开URL url = 'https://www.example.com' driver.get(url) # 等待页面加载完成后关闭浏览器(如果需要) driver.quit() # 隐藏CMD窗口 subprocess.Popen(['taskkill', '/F', '/IM', 'cmd.exe'], creationflags=subprocess.CREATE_NO_WINDOW) ``` 在这个例子中,`headless`参数让Chrome在无界面模式下运行,而`CREATE_NO_WINDOW`标志会创建一个新的进程,不显示CMD窗口。完成任务后,脚本会关闭浏览器并杀死CMD进程以隐藏窗口。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值