【问题标题】:How to control log level in Firefox with arsenic如何使用砷控制 Firefox 中的日志级别
【发布时间】:2021-12-06 13:25:14
【问题描述】:

我在 Docker 容器中运行砷(Firefox + Geckodriver)脚本。我正在尝试像这样控制浏览器中的日志级别:

from arsenic import browsers

browser = browsers.Firefox(
        **{'moz:firefoxOptions': {
            'args': ['-headless'],
            'binary': '/usr/bin/firefox'},
            'log': {'level': 'warning'}
        }
    )

但是,当我尝试运行它时,我得到:

ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f5c93762df0>
ERROR:asyncio:Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7f5c92dd9940>, 25597.978260712)]']
connector: <aiohttp.connector.TCPConnector object at 0x7f5c937629d0>
ERROR:root:

Got ('log is not the name of a known capability or extension capability', None, '') with https://example.com.

Docker image: python:3.9
Firefox: 94.0b7 (linux-x86_64)
Geckodriver: v0.30.0 (linux-x86_64)

我检查了很多次,Firefox 选项的 sytnax 似乎没问题。如果有人有解决此问题的线索,将不胜感激。

【问题讨论】:

    标签: python-3.x docker firefox geckodriver


    【解决方案1】:

    所以,在又读了一遍https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions 之后,我意识到日志参数需要作为参数传递。 这对我有用:

        browser = browsers.Firefox(
            **{'moz:firefoxOptions': {
                'args': ['-headless', '-log', "{'level': 'warning'}"],
                'binary': '/usr/bin/firefox'}
            }
        )
    

    我将不得不多玩一点,看看它应该是 warning 还是 warn,但传递 log 参数是可行的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      相关资源
      最近更新 更多