如何让GeckoDriver启动并连接至已打开的Firefox窗口?
连接已登录Firefox窗口的可行方案
1. 手动启动带远程调试的Firefox
先关闭所有Firefox进程,通过命令行启动指定用户配置文件的Firefox并开启远程调试:
- 打开Firefox的
about:profiles页面,找到你常用的(已登录账号的)配置文件的根目录路径,比如C:\Users\XXX\AppData\Roaming\Mozilla\Firefox\Profiles\abc123.default-release - 打开命令提示符/终端,执行对应系统的命令:
# Windows "C:\Program Files\Mozilla Firefox\firefox.exe" -remote-debugging-port=9222 -profile "你的配置文件根目录路径" # macOS /Applications/Firefox.app/Contents/MacOS/firefox -remote-debugging-port=9222 -profile "你的配置文件根目录路径" # Linux firefox -remote-debugging-port=9222 -profile "你的配置文件根目录路径"
启动后,在这个Firefox窗口中登录目标网站,保持窗口运行。
2. 用Selenium连接已启动的窗口
编写Python代码,通过远程调试端口连接已运行的Firefox:
from selenium import webdriver from selenium.webdriver.firefox.options import Options options = Options() options.add_argument("--remote-debugging-port=9222") # 无需指定binary路径,驱动会自动识别已启动的Firefox实例 driver = webdriver.Firefox(options=options) # 此时driver将控制已登录的窗口,直接操作表单 driver.get("目标表单页面URL") # 填写表单的后续代码...
排查要点
- 启动前必须关闭所有Firefox进程,避免端口冲突
- 配置文件路径必须准确,确保是你登录过账号的那个配置文件夹
- 不要使用
-no-remote参数,该参数已被-remote-debugging-port替代
内容的提问来源于stack exchange,提问作者Emma Strify
相关产品推荐
相关产品推荐

