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

使用Python Selenium打开Bing Maps时遭遇WebGL禁用错误的解决方法

解决Selenium打开Bing Maps出现WebGL禁用错误的方案

你的代码里存在冲突的Chrome启动参数,直接导致WebGL被禁用,而Bing Maps依赖WebGL渲染地图。以下是修复步骤:

核心问题分析

代码中同时设置了强制禁用3D API和GPU的参数,这是WebGL报错的根本原因:

  • --disable-3d-apis:直接禁用所有3D相关API(包括WebGL)
  • --disable-gpu:禁用GPU加速,WebGL依赖GPU或软件模拟GPU
  • 重复设置start-maximized属于冗余配置

修复后的代码

移除冲突参数,保留必要的WebGL软件模拟配置(如果运行环境无GPU),清理冗余选项:

import os, sys
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
# 保留最大化窗口
options.add_argument("start-maximized")
# 启用SwiftShader作为WebGL的软件渲染器(无GPU环境必备)
options.add_argument('--use-gl=swiftshader')
options.add_argument('--enable-unsafe-swiftshader')
# 保留安全沙箱和共享内存禁用(容器/无头环境常用)
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# 日志和自动化相关配置
options.add_argument('--log-level=3')
options.add_experimental_option("prefs", {"profile.default_content_setting_values.notifications": 1})
options.add_experimental_option("excludeSwitches", ["enable-automation", "enable-logging"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')

srv = Service()
baseLink = "https://www.bing.com/maps"
driver = webdriver.Chrome(service=srv, options=options)
driver.get(baseLink)
input("Press!")

额外排查点

  • 如果运行环境有可用GPU,可以移除--use-gl=swiftshader和--enable-unsafe-swiftshader,让Chrome使用硬件加速
  • 检查Chrome浏览器和ChromeDriver版本是否匹配,版本不兼容也可能导致WebGL异常
  • 若仍报错,可尝试添加--enable-webgl参数显式启用WebGL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:12:15