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

如何用Python在已打开标签页的Inspect Element控制台执行JS

解决Selenium连接已打开浏览器标签页的问题

你当前的Selenium代码会启动新浏览器窗口,要实现连接已打开的浏览器标签页并执行操作,核心是连接已运行的浏览器实例而非启动新实例,具体步骤如下:

1. 配置Firefox允许远程调试

  • 关闭所有正在运行的Firefox窗口
  • 打开终端(Windows用命令提示符/ PowerShell,Mac/Linux用终端),执行对应命令:
    • Windows(需替换为你的Firefox实际安装路径):
      "C:\Program Files\Mozilla Firefox\firefox.exe" --remote-debugging-port=9222
      
    • Mac/Linux:
      firefox --remote-debugging-port=9222
      
  • 执行后会打开一个Firefox窗口,这个窗口就是可被Selenium连接的目标实例

2. 修改Selenium代码连接已有实例

替换你原来的代码为以下内容,实现连接已打开的浏览器:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options

# 配置连接参数,端口要和启动浏览器时一致
options = Options()
options.add_argument("--remote-debugging-port=9222")

# 关键:连接已运行的浏览器,而非启动新窗口
driver = webdriver.Firefox(options=options)

# 若已打开目标页面可跳过此步,否则导航到目标地址
# driver.get("https://www.example.com")

# 定位按钮并点击(确保页面已加载完成)
start_button = driver.find_element(By.ID, "ctl00$ContentPlaceHolder1$ImageButton_StartNormal")
start_button.click()

# 如需在控制台执行代码,使用execute_script方法
# driver.execute_script("console.log('在已打开标签页的控制台执行代码');")

注意事项

  • 启动浏览器时的远程调试端口必须和代码中的端口完全一致
  • 连接过程中不要关闭通过命令行打开的Firefox窗口
  • 若要操作已打开的特定标签页,可通过driver.window_handles切换窗口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:20:26