随机硒错误EGL驱动程序消息(错误)

Jos*_*nes 5 python selenium google-chrome

我从硒中收到随机错误消息,尽管它们均与我正在运行的确切Web驱动程序命令无关(我不知道)。

该错误并没有打断程序,只是在添加不必要的警报(使我的打印件更难以阅读)。

Chrome版本:75.0.3770.100(正式版本)(64位)

Python版本:3.6.1

ChromeDriver版本:75.0.3770.140

我已经添加了以下代码,但是仍然出现错误。

options.add_argument("--log-level=3")
Run Code Online (Sandbox Code Playgroud)

gl_surface_egl.cc(544)-EGL驱动程序消息(错误)eglQueryDeviceAttribEXT:错误的属性。

Deb*_*anB 1

这个随机错误消息...

gl_surface_egl.cc(544) - EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute.
Run Code Online (Sandbox Code Playgroud)

...来自该LogEGLDebugMessage()方法,因为其中一个GL 开关出现错误

该错误在gl_surface_egl.cc中定义如下:

static void EGLAPIENTRY LogEGLDebugMessage(EGLenum error,
                       const char* command,
                       EGLint message_type,
                       EGLLabelKHR thread_label,
                       EGLLabelKHR object_label,
                       const char* message) {
  std::string formatted_message = std::string("EGL Driver message (") +
                  GetDebugMessageTypeString(message_type) +
                  ") " + command + ": " + message;
Run Code Online (Sandbox Code Playgroud)

深潜

根据Chromium 命令行开关列表中的文档,参数--use-gl选择应使用 GPU 进程的 GL 实现,可用选项为:

  • 桌面:用户安装的任何桌面 OpenGL(Linux 和 Mac 默认)。
  • egl:用户安装的任何 EGL / GLES2(Windows 默认 - 实际上是 ANGLE)。
  • swiftshader:SwiftShader 软件渲染器。

DEBUG消息没有害处,您可以继续测试。


解决方案

如果您的用例涉及调用click()send_keys()方法,则需要引发WebDriverWait,如下element_to_be_clickable()所示:


额外考虑

此错误可能是由设备启动应用程序引起的ES2-only,即使清单需要ES3 个功能。EGL_RENDERABLE_TYPE从更新EGL_OPENGL_ES2_BITEGL_OPENGL_ES3_BIT将解决此问题。