如何在无头环境中的Chrome上正确初始化WebGL以与MapBox配合使用?

时间:2019-04-26 17:24:38

标签: python webdriver selenium-chromedriver headless

UI不会渲染GL元素,从而导致测试失败并显示以下错误:无法初始化WebGL。

正在通过Jenkins在docker实例(python:3.7-alpine3.9)上执行测试。

在本地测试中,尝试使用各种Webdriver选项,包括--use-gl = osmosa / swiftshader和其他选项。这些问题是,如果成功应用了特定选项,我真的不会得到反馈。

options = webdriver.ChromeOptions()
options.add_argument("--headless") 
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-gpu")
options.add_argument("--use-gl=swiftshader")
options.add_argument("--enable-webgl")
options.add_argument("--ignore-gpu-blacklist")
web_driver = WebDriver(executable_path='chromedriver', options=options)

也安装了这些小家伙。 apk添加mesa-osmesa apk添加mesa-gl

以上所有内容都不会带来圆满的结局。 正在访问所用浏览器的上下文中返回webgl信息的访问网页https://browserleaks.com/webgl返回了WebGL支持的模糊信息:False,但受支持但被禁用。

This browser supports WebGL: False (supported, but disabled in browser settings, or blocked by extensions)
This browser supports WebGL 2: False (supported, but disabled in browser settings, or blocked by extensions)

0 个答案:

没有答案