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

如何通过Selenium Webdriver以其他用户身份在Firefox中打开应用网站

用Selenium以其他用户身份启动Firefox并访问目标应用

我来帮你搞定这个问题!你手动通过“Run as different user”能实现需求,但直接用GeckoDriver不行,核心原因是GeckoDriver默认会在当前用户的上下文里启动Firefox,而手动操作是切换了用户运行环境。下面给你两种可行的自动化方案:

方案1:用runas启动带远程调试的Firefox,再用Selenium连接

这个方法是先让Firefox以指定用户身份启动并开启远程调试,再让Selenium控制这个已运行的浏览器实例,步骤如下:

  1. 构造runas命令启动Firefox
    打开命令提示符(CMD),输入以下命令(替换成你的实际用户信息和Firefox安装路径):

    runas /user:DOMAIN\USERNAME "C:\Program Files\Mozilla Firefox\firefox.exe --remote-debugging-port=9222"
    

    执行后会弹出凭据窗口,输入该用户的密码,Firefox就会以这个用户身份启动并开启9222端口的远程调试。

  2. 用Selenium连接到已运行的Firefox
    编写Selenium代码,配置FirefoxOptions来附加到刚才启动的实例:

    from selenium import webdriver
    from selenium.webdriver.firefox.options import Options
    
    # 配置选项,匹配远程调试端口
    firefox_options = Options()
    firefox_options.add_argument("--remote-debugging-port=9222")
    # 跳过首次运行和默认浏览器检查
    firefox_options.add_argument("--no-first-run")
    firefox_options.add_argument("--no-default-browser-check")
    
    # 连接到已运行的Firefox实例
    driver = webdriver.Firefox(options=firefox_options)
    # 访问目标应用网站
    driver.get("https://your-target-app-url.com")
    

方案2:预存凭据实现半自动化(适合测试环境)

如果不想每次手动输入密码,可以用Windows的cmdkey命令预先存储用户凭据(注意:密码会明文存储,仅适合测试环境):

cmdkey /add:DOMAIN\USERNAME /pass:USER_PASSWORD

之后再执行runas命令时,就不会弹出凭据窗口,直接以指定用户启动Firefox,后续步骤和方案1一致。

注意事项

  • 确保指定的用户有权限运行Firefox,并且能访问目标应用网站
  • 调整runas命令中的Firefox路径,和你实际的安装位置一致
  • 远程调试端口可以自定义,但要确保端口未被其他程序占用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:28:50