账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    chromedriver headless 模式 如何屏蔽日志
    58
    0

    import selenium
    from selenium import webdriver
    from fake_useragent import UserAgent

    ua = UserAgent()
    option = webdriver.ChromeOptions()
    option.add_argument('--headless')
    option.add_argument("window-size=1024,768")
    option.add_argument('--start-maximized')
    option.add_argument('user-agent="%s"'%ua.random)
    browser = webdriver.Chrome(executable_path=r'E:seleniumchromedriver.exe', chrome_options=option)
    browser.get('https://www.baidu.com')
    browser.save_screenshot(r'D:ok.png')

    chromedriver 在 headless 模式下运行会产生大量的日志信息, 请问如何屏蔽, 日志信息如下:

    λ python demo.py
    [0708/210859.241:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.

    DevTools listening on ws://127.0.0.1:54382/devtools/browser/b6ca42e1-ad48-4392-b028-f4a38efa0f82
    [0708/210900.895:INFO:CONSOLE(715)] "A parser-blocking, cross site (i.e. different eTLD+1) script, https://ss1.bdstatic.com/5eN1... is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/... for more details.", source: https://www.baidu.com/ (715)
    [0708/210900.897:INFO:CONSOLE(715)] "A parser-blocking, cross site (i.e. different eTLD+1) script, https://ss1.bdstatic.com/5eN1... is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/... for more details.", source: https://www.baidu.com/ (715)
    [0708/210900.949:INFO:CONSOLE(4)] "Uncaught ReferenceError: c is not defined", source: https://ss1.bdstatic.com/5eN1... (4)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在ChromeDriver的headless模式下,可以使用ChromeDriver的options参数来屏蔽日志。以下是一个示例:

      ```javascript const webdriver = require('webdriver.chrome.driver');

      (async () => { try { await webdriver.create(); await webdriver管理水平Test(); await webdriver.quit(); } catch (error) { console.error(error); } })(); ```

      在这个示例中,我们首先创建一个新的ChromeDriver实例,然后运行管理测试来测试ChromeDriver是否正常工作。如果一切正常,我们就会关闭浏览器。

      如果你想屏蔽所有的日志,你可以在options参数中设置logLevel选项为'none'。例如:

      ```javascript const webdriver = require('webdriver.chrome.driver');

      (async () => { try { await webdriver.create(); await webdriver管理水平Test(); await webdriver.quit(); } catch (error) { console.error(error); } })(); ```

      在这个示例中,所有的日志都会被忽略。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部