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

Selenium启动Google Chrome后立即闪退的问题求助

问题原因

你这段代码踩了三个访问带弹窗广告站点的常见坑,试多少方案都没用很正常:

  • 窗口配置逻辑冲突:先调用set_window_size(1920, 1080)又马上调maximize_window(),前者的设置会被直接覆盖,部分Chrome驱动版本下连续调用这两个接口会导致窗口句柄索引错乱
  • 驱动写法过时:Selenium 4.6及以上版本自带驱动自动适配能力,手动传executable_path很容易出现本地驱动和Chrome版本不匹配的问题,直接导致启动失败、页面加载异常
  • 窗口切换逻辑无效:snaptik首次加载会弹出1-2个广告标签页,你写的1.5秒固定等待时间太短,很多时候广告还没弹出来你就切回第一个句柄,等后续操作元素的时候广告刚好加载完,焦点会自动切到广告页,所有定位操作全失效。
修复步骤

按下面改就能正常运行:

  • 升级本地selenium到4.6以上版本,删掉手动传驱动路径的代码,让程序自动匹配对应版本的Chrome驱动
  • 窗口设置二选一,要么固定尺寸要么最大化,不要两个接口连着调用
  • 页面加载后等所有广告弹窗生成,把广告页全部关掉再切回目标页,别用固定时长的硬等待

修复后的可运行代码:

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait

option = Options()
# 加反检测参数避免被站点拦截
option.add_argument("--disable-blink-features=AutomationControlled")
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option("useAutomationExtension", False)

# 初始化驱动,不需要传executable_path
driver = webdriver.Chrome(options=option)
# 窗口配置二选一即可
driver.maximize_window()
# driver.set_window_size(1920, 1080)

driver.get('https://snaptik.app/en-us')
# 最多等5秒,等所有广告弹窗加载完成
WebDriverWait(driver, 5).until(lambda d: len(d.window_handles) >= 1)
time.sleep(0.5)
# 倒序关闭所有广告标签页
for handle in reversed(driver.window_handles[1:]):
    driver.switch_to.window(handle)
    driver.close()
# 切回目标主页面
driver.switch_to.window(driver.window_handles[0])

# 后续写你的业务逻辑即可

补充:如果还是启动失败,先把本地Chrome浏览器升级到最新正式版,驱动和浏览器大版本不匹配是这类问题最高发的诱因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:57:22