You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python通过Selenium操控已运行Chrome指定标签页的实现方法

Windows下操控已有Chrome标签页完成Google搜索实现方案

前置准备

Chrome默认安全策略不允许外部程序直接访问运行中实例的内部数据,必须先开启远程调试端口才能建立连接:

  • 打开任务管理器,结束所有chrome.exe进程,避免启动参数不生效
  • 按Win+R调出运行窗口,输入以下命令启动Chrome(注意替换路径里的你的用户名为当前Windows系统实际用户名,如果Chrome安装在非默认路径,也要对应修改chrome.exe的所在路径):
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data"
  • Chrome启动后,按需求依次打开Facebook、Stack Overflow、Google主页三个标签即可。

依赖安装

使用Selenium连接Chrome调试端口,Selenium 4+会自动匹配对应版本的ChromeDriver,不需要手动下载驱动文件:

pip install selenium

实现代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 配置连接本地已开启调试端口的Chrome实例
chrome_opt = webdriver.ChromeOptions()
chrome_opt.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(options=chrome_opt)

target_tab = None
# 遍历所有标签页查找Google主页
for tab_handle in driver.window_handles:
    driver.switch_to.window(tab_handle)
    current_url = driver.current_url
    # 兼容不同地区谷歌域名,排除已经加载完成的搜索结果页
    if "google." in current_url and "/search" not in current_url:
        target_tab = tab_handle
        break

if not target_tab:
    print("未检测到Google主页标签页")
    driver.quit()
    exit()

# 切换到目标标签
driver.switch_to.window(target_tab)
# 定位搜索框输入内容并提交
search_input = driver.find_element(By.NAME, "q")
search_input.clear()
search_input.send_keys("This program works fine")
search_input.send_keys(Keys.ENTER)

# 若操作后不需要断开连接可注释下行,保留浏览器正常使用
# driver.quit()

注意事项

  • 9222是默认使用的调试端口,如果被其他程序占用,可以换成其他未被占用的端口(比如9333),启动Chrome的命令和代码里的端口号同步修改即可
  • 开启调试模式后,不要通过桌面快捷方式额外打开新的Chrome窗口,否则新窗口不会被纳入调试连接的范围
  • 如果不想重启Chrome,也可以用pywinauto做纯UI层面的模拟点击切换标签、输入内容,但这种方式依赖窗口标题、焦点位置,稳定性极差,遇到弹窗、页面加载慢的情况很容易失效,不推荐使用

内容的提问来源于stack exchange,提问作者NoahVerner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.19 16:15:45