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

Selenium自动化Facebook登录后Chrome窗口几秒内关闭问题求助

问题原因及解决方案

你的Chrome窗口在登录Facebook后自动关闭,大概率是以下几种情况导致的,对应的解决方法如下:

1. ChromeDriver与Chrome浏览器版本不兼容

你手动指定了chromedriver的本地路径,如果当前Chrome浏览器版本和该驱动版本不匹配,登录后页面加载过程中就可能触发驱动崩溃,直接导致浏览器窗口关闭。

解决方法:
利用你已经导入的ChromeDriverManager自动匹配并安装对应版本的驱动,替换原来的驱动初始化代码:

# 替换原有的 driver = webdriver.Chrome('chromedriver')
driver = webdriver.Chrome(ChromeDriverManager().install())

2. 缺少浏览器持久化配置

默认情况下,Selenium代码执行完毕后会自动关闭浏览器窗口,哪怕你添加了sleep(100),如果驱动进程意外终止或触发隐性退出逻辑,窗口还是会关闭。

解决方法:
添加ChromeOptions配置,强制浏览器在代码执行后保持打开状态:

options = Options()
options.add_experimental_option("detach", True)  # 让浏览器窗口在代码结束后继续保留

# 初始化驱动时传入配置
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

3. Facebook的反自动化检测

Facebook有严格的反爬机制,一旦检测到自动化工具登录,可能会强制终止页面会话,导致浏览器窗口被关闭。

解决方法:
添加禁用自动化标识的配置,模拟真实用户的浏览器环境:

options = Options()
options.add_experimental_option("detach", True)
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# 补充用户代理,进一步模拟真实访问
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")

driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

4. 未捕获的异常导致驱动退出

虽然你用了try-except块,但部分异常可能没被正确捕获(比如页面跳转后元素定位失败、网络超时等),会直接导致驱动进程异常终止,窗口随之关闭。

解决方法:
在except块中打印详细的错误堆栈,定位具体问题:

except Exception as e:
    import traceback
    traceback.print_exc()
    print("The error raised is: ", e)

内容的提问来源于stack exchange,提问作者Sahil Singh Rawat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:18:35