【问题标题】:How do I make chromedriver suppress errors and warnings?如何让 chromedriver 抑制错误和警告?
【发布时间】:2017-12-14 12:22:43
【问题描述】:

在自动测试期间使用 chromedriver 2.29 和 watir-webdriver 在 Windows 7 上驱动 chrome 浏览器或使用 IRB(交互式 ruby​​ shell)时,我经常看到在使用浏览器时写入标准输出的错误和警告。

这样的错误: ERROR:gl_surface_egl.cc(690)] eglInitialize D3D11 failed with error EGL_NOT_INITIALIZED, trying next display type

这使得使用 IRB 变得很困难,因为错误文本不断地阻碍。由于所有嘈杂的错误/警告,它还使 rspec 中的测试输出确实有问题且难以阅读。

如何消除所有这些错误?我尝试使用 chromedriver 具有的 --silent 选项加载浏览器,但这并没有阻止错误。

【问题讨论】:

    标签: ruby rspec selenium-chromedriver watir-webdriver


    【解决方案1】:

    更新到最新: Chrome:版本 60.0.3112.78(官方版本)(64 位) 和 chromedriver:2.30 版 不再发现问题。

    【讨论】:

      【解决方案2】:

      如果你想忽略这些错误,你可以使用异常来忽略所有的错误,如果你还不知道如何做到这一点,你可以在这里阅读:https://www.tutorialspoint.com/ruby/ruby_exceptions.htm

      如果您想保留错误但减少混乱,我会将错误写入错误日志文件或将文本写入输出日志文件。

      希望这有帮助!

      【讨论】:

      • 感谢您的建议,但这似乎没有帮助。我尝试将创建浏览器对象的代码包装在开始/结束块中,并挽救任何应该发生但似乎没有抛出异常的异常。我相信,这些都是被写入 IRB 输出的 chrome 错误/警告。我也尝试使用--simple-prompt --noecho 启动irb,但错误仍然充斥着命令行。您是否有我可以尝试的解决方案或示例代码的工作示例?
      • 对不起,我没有任何示例代码,我个人以前没有见过这个问题,如果异常不起作用,我最好的建议是将您发送给 irb 的内容发送到文本文件这样您就可以在没有错误的情况下阅读标准输出。如果您需要输入并且无法发送到文件,您可以尝试更改您尝试查看的输出文本的颜色以使其更加明显和明显,对不起,我没有确切的答案,但是我希望你能弄清楚。
      • NP,谢谢杰克。今天我注意到使用最新的 chrome 版本 60.0.3112.78(官方构建)(64 位)和 chromedriver 2.30 不再出现此问题。我很高兴,希望问题永远不会再出现。
      • 很高兴听到这是一个简单的修复,手指交叉不会再次发生哈哈!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      相关资源
      最近更新 更多